在阅读article in the most recent issue of MSDN magazine后,我想尝试使用VADump来分解我编写的某些应用程序的内存使用情况。
我电脑上唯一的可执行文件副本位于:
c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\winnt\vadump.exe
无论我给VADump提供什么参数组合,它都会返回错误:
OpenProcess Failed c0000034
谷歌搜索出现了其他一些有同样问题的人,但这些帖子都没有我能找到的解决方案(甚至是回复!)。
本机正在运行安装了VS2005和VS2008的WinXP SP2。
VADump看起来是一个非常有用的工具,我真的很想尝试一下。希望这可以在办公室中的另一台PC上运行,但我仍然希望能让它在我的办公室工作。
有什么想法吗?
答案 0 :(得分:9)
VADump很旧,大约2000年。该工具的图形等价物被主动维护,称为VMMap:http://technet.microsoft.com/en-us/sysinternals/dd535533.aspx。
答案 1 :(得分:4)
最后,我设法从这里下载了更新版本的VADump:
http://go.microsoft.com/fwlink/?LinkId=149683
它现在运行,但不是没有在有用的东西之前喷出各种垃圾......
C:\Program Files\Resource Kit>VADUMP.EXE -sop 7240 Error: Heap ShareCount > 1, 0x00271000 Error: Private ShareCount > 1, 0x3400000 Error: Private ShareCount > 1, 0x3402000 Error: Private ShareCount > 1, 0x3403000 Error: Private ShareCount > 1, 0x3404000 Error: Private ShareCount > 1, 0x3405000 Error: Private ShareCount > 1, 0x3406000 Error: Private ShareCount > 1, 0x3408000 ...etc... Catagory Total Private Shareable Shared Pages KBytes KBytes KBytes KBytes Page Table Pages 49 196 196 0 0 Other System 127 508 508 0 0 Code/StaticData 6731 26924 3252 3876 19796 Heap 768 3072 3072 0 0 Stack 74 296 296 0 0 Teb 22 88 88 0 0 Mapped Data 221 884 0 92 792 Other Data 4038 16152 16148 4 0 Total Modules 6731 26924 3252 3876 19796 Total Dynamic Data 5123 20492 19604 96 792 Total System 176 704 704 0 0 Grand Total Working Set 12030 48120 23560 3972 20588
如果您有兴趣了解应用程序中的内存分配,我建议您阅读我在原始问题中指出的文章。
答案 2 :(得分:4)
我的建议是先将CD放到自己的目录中。
举例说明:
C:\>"c:\Program Files\Resource Kit\VADUMP.EXE" -s -p 7404 OpenProcess Failed c0000034 C:\>cd "c:\Program Files\Resource Kit" C:\Program Files\Resource Kit>VADUMP.EXE -s -p 7404 Total Image Commitment 229154816 READONLY: 36380672 READWRITE: 4022272 ...