在 Visual Studio 2013 中为性能分析器设置环境变量

Posted

技术标签:

【中文标题】在 Visual Studio 2013 中为性能分析器设置环境变量【英文标题】:Setting an environment variable for the performance analyzer in visual studio 2013 【发布时间】:2016-02-03 19:51:01 【问题描述】:

我目前正在尝试在 Visual Studio 2013 (C++) 中为我的项目使用性能分析器。该项目在 Visual Studio 中以调试和发布模式运行,配置属性 -> 调试 -> 环境设置为 PATH=$(MYPATH);%path。

我使用它来允许 Visual Studio 找到我需要的所有分散在不同目录中的 dll(例如,boost dll 都在我计算机上的一个位置)。

由于某种原因,使用性能向导时它不起作用。我使用了推荐的 CPU 采样并确保我的应用程序可以在 F5 上启动。从性能向导启动时,它说:

“程序无法启动,因为您的计算机中缺少 mydll.dll...”

我怀疑问题出在探查器在启动时使用的环境变量上。有没有办法告诉探查器使用特定的环境变量?

我已经搜索了一段时间,但我没有找到有关如何执行此操作的任何信息。也许我没有使用正确的关键字?我已经阅读了这些,但它们并没有真正的帮助:

显然不是我想要的:https://msdn.microsoft.com/en-us/library/dd557761.aspx

无法解决集成分析器的问题:How do I set Environmental variable for my application while profiling it under visual studio 2008

这不是同一个问题:How do I run the Visual Studio 2012 memory profiler? I'm getting the error DA0002

我使用的属性表与此处描述的非常相似,但对于 VS2013:C++ - Using environment variable in property sheet for Visual Studio 2010

**需要注意:如果我将丢失的 dll 复制到我的 .exe 文件夹中,它可以正常工作。此解决方案需要大量复制,如果可能,我宁愿避免。

【问题讨论】:

【参考方案1】:

经过更多研究,我终于找到了这个:https://connect.microsoft.com/VisualStudio/feedback/details/981900/profiler-does-not-respect-debugging-environment-variables-for-project

这似乎是一个已知问题,Microsoft 不会修复它。

看来我唯一的选择是复制脚本作为预构建步骤。如果有人有更好的解决方案,我仍然有兴趣听听!

【讨论】:

【参考方案2】:

我在 .sln 文件附近创建了 .bat 文件,内容如下:

set PATH=$(MYPATH);%PATH%

your_solution.sln

它对我有用

【讨论】:

为了便于阅读,我建议将您的代码放入 *** 的代码块格式中。

以上是关于在 Visual Studio 2013 中为性能分析器设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2013 中为 Cordova 应用程序启用断点

错误 C2536 的解决方法:无法在 Visual Studio 2013 中为数组指定显式初始化程序

在 makefile 中为 Visual Studio C++ 构建定义宏

Visual Studio 2015 上的 log10() 性能比 Visual Studio 2013 for x86 慢很多

我可以在 Visual Studio 2010 中为某些文件打开优化器吗?

我可以在 Visual Studio 中为 UnitTest/LoadTest 创建自定义 TestContext 计时器吗?