Использование VADump для отслеживания использования памяти - сбой OpenProcess c0000034 - PullRequest
2 голосов
/ 05 июня 2009

Прочитав статью в последнем номере журнала MSDN , я захотел попробовать VADump, чтобы уменьшить использование памяти некоторыми приложениями, которые я написал.

Единственная копия исполняемого файла на моем компьютере:

c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\winnt\vadump.exe

Независимо от того, какую комбинацию аргументов я даю VADump, он возвращает ошибку:

OpenProcess Failed c0000034

Поиск в Google по этому поводу обнаружил нескольких других, у которых была такая же проблема, но ни у одного из этих постов не было резолюций (или даже ответов!), Которые я мог найти.

Эта машина работает под управлением WinXP SP2 с установленными VS2005 и VS2008.

VADump выглядит довольно полезным инструментом, и я бы очень хотел его попробовать. Надеюсь, это сработает на другом компьютере в офисе, но я все же хотел бы, чтобы он работал на моем.

Есть идеи?

Ответы [ 3 ]

9 голосов
/ 09 апреля 2012

VADump - старый, около 2000. Графический эквивалент инструмента активно поддерживается, называемый VMMap: http://technet.microsoft.com/en-us/sysinternals/dd535533.aspx.

4 голосов
/ 15 сентября 2010

Я предлагаю сначала записать 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
...
4 голосов
/ 05 июня 2009

В итоге мне удалось скачать более новую версию 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

Если вы заинтересованы в понимании распределения памяти в вашем приложении, я рекомендую прочитать статью, на которую я указал в исходном вопросе.

...