Ошибка создания дампа Adplus - доступ запрещен

Я пытаюсь получить дамп для отладки некоторых проблем с памятью в процессах ASP.NET (Windows 2003 R2 SP2 x64):

adplus -hang -o f:\dumps -pn w3wp.exe -quiet

Есть девять w3wp.exe (все с разных сайтов). Каждый раз, когда я запускаю adplus, как указано выше, некоторые из дампов завершаются с этой ошибкой:

WriteFullMemory.Memory.Read(0x100ea0000, 0x10000) failed 0x80070005, ABORT.
Dump creation failed, Win32 error 0n5
    "Access is denied."

Ошибка кажется случайной (или я должен сказать, что не могу найти причины), то есть иногда некоторые процессы сбрасываются нормально, а иногда они терпят неудачу с этой ошибкой. Вещи, которые я проверил:

  • У меня есть полные права администратора
  • На целевом жестком диске достаточно места
  • Я отключил пинг и защиту от сбоев в IIS, чтобы IIS не убивал процессы во время дампинга adplus.

Что-нибудь еще, что я должен проверить? Кто-нибудь еще сталкивался с этой проблемой? Версия Adplus 7.01.002 (27.02.2009) (скачана пару дней назад из последней версии SDK)

2 ответа

Решение

Это из-за сбоя чтения недоступной памяти. Чтобы избежать этого, вы можете использовать что-то вроде cdb/windbg и использовать .dump /mA Команда для создания полного дампа памяти.

.dump /mA такой же как .dump /ma за исключением того, что он проигнорирует сбой чтения недоступной памяти и продолжит создание минидампа.

Опции.dump

Параметр /mA эквивалентен /ma, за исключением того, что он игнорирует любой сбой при чтении недоступной памяти и продолжает генерировать мини-дамп.

НТН

Неважно, если вы являетесь администратором, вам все равно нужно повысить привилегии.

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

Другие вопросы по тегам