2011-04-08 80 views
0

我正在尝试使用VADump分析一个大的WPF应用程序。我最感兴趣的是DLL的工作集。但是,当我使用命令vadump -sop [processID]在我的应用程序上运行VADump时,此类别中不显示任何信息。它具有标题,但没有列出任何DLL。VaDump未列出内存使用DLL

如果我在较小的应用程序上运行VADump,我确实会得到结果。我正在使用最新版本的VADump。这在Windows 7 x64,.Net 4.0和Visual Studio 2010 Pro上。

问题我已经看了:

Using VADump to track memory usage - OpenProcess Failed c0000034

有什么想法?我知道VADump是一个较老的工具。

回答

1

这主要是因为DLL不拥有内存。一个过程。尤其是一个托管的垃圾收集堆由AppDomain拥有,并由加载到其中的所有DLL共享。可能有一个非托管DLL创建自己的堆,COM服务器通常会这样做。但很少见。

VADump不会有任何诊断gc堆的帮助,请使用.NET特定的内存分析器。例如,Microsoft提供的免费CLR分析器。尽管如此,它不值得你花钱。已经有关于配置文件的大量问题,请使用搜索框。