c# - VS2013 : Memory profiler doesn't show anything on a specific project

标签 c# wpf visual-studio-2013 memory-profiling

我想使用 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 管理的)?

最佳答案

这让我想知道它有时会起作用。可能是某些防病毒软件或驱动程序问题?

关于c# - VS2013 : Memory profiler doesn't show anything on a specific project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24738881/

相关文章:

tfs - 为什么从 Team Foundation Server 收到的文件只在一台机器上出现损坏错误?

c# - 动态对象的特殊字符?

c# - 如何处理 KeyRoutedEventArgs e 中 VirtualKey 枚举中的缺失值

c# - 如何序列化/反序列化从另一个程序集加载的对象?

wpf - 将触发器的属性设置为子触发器

c# - 如何在代码隐藏中将 Unicode 字符设置为标签的内容?

c# - 如何设置一个像素宽度的网格线(WPF DataGrid)?

c# - 为什么 MSDN 建议在委托(delegate)声明中包含对象发送者?

c - 如何在随机数生成中包含负数

TFS 在 Visual Studio 2013 中重命名和删除文件很慢