我想使用 visual studio 2013 ultimate 的内存分析器来分析 WPF 应用程序。 但似乎有一个问题:运行探查器后没有可用/显示的数据。 我使用 Windows 8.1 x64
我收到这个错误:
DA0002: It appears that the file was collected without properly setting the environment variables with VSPerfCLREnv.cmd. Symbols for managed binaries may not resolve.
奇怪的是:CPU 分析适用于此项目,而内存分析似乎适用于其他项目(我创建了一个带有空窗口的新 WPF 项目并在那里测试了内存分析器,并且显示了数据)。我还在另一台机器上测试了特定项目,结果相同(没有显示)。
我还做了什么: 我使用 VSPerfCLREnv 来设置环境变量,如上面的错误消息中所述。 我试过这个问题的解决方案:How do I run the Visual Studio 2012 memory profiler? I'm getting the error DA0002 ,但是带有 VSPerfCmd 的部分并没有真正起作用(收到消息说我应该使用 VSPerf.exe,但这也不起作用)。
我认为这不是一般VS2013的问题,而是我的项目。
出现此问题的上述项目是 WPF 应用程序。它包含一个异步套接字服务器(基于 SocketAsyncEventArgs
)。
我清理了解决方案,将调试设置为 x86,删除了项目所有未使用的引用并将目标框架从 .net4.5 设置为 .net4。没有改变。 我不知道为什么内存分析不起作用。也许套接字的缓冲区是错误的(因为它们不是由 .net 管理的)?
最佳答案
- 您应该尝试最新更新的 visual studio 和 windows 更新。
- 以管理员身份运行 Visual Studio
- 不确定这是否适用但可能有帮助:https://support.microsoft.com/en-us/kb/300956
这让我想知道它有时会起作用。可能是某些防病毒软件或驱动程序问题?
关于c# - VS2013 : Memory profiler doesn't show anything on a specific project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24738881/