Как создать мини-дамп процесса при сбое без явного запуска AdPlus в Windows 7?

У меня есть процесс.NET, который иногда не удается с AccessViolationException в собственном коде какой-либо сторонней библиотеки.

Я хотел бы иметь мини-дамп полной памяти, когда это произойдет. Я прочитал эту страницу - http://support.microsoft.com/kb/931673, раздел "Сбор дампов пользовательского режима" и настроил реестр, как объясняется в статье. Однако, когда происходит сбой, создается очень маленький отчет - файла *.mdmp не видно.

Теперь я знаю, как запустить процесс из ADPLus или как подключить его к уже запущенному процессу. Но это требует запуска ADPLus явно.

Мне было интересно, как я могу настроить Windows для автоматического запуска ADPlus, каждый раз, когда я запускаю проблемный процесс, независимо от того, как он запускается - из msbuild, двойным щелчком мыши, из консольного скрипта и т. Д...

Это означает, что при запуске aaaa.exe заменяется на запуск ADPlus с определенными флагами, который порождает aaaa.exe с соответствующими параметрами командной строки.

Я знаю, что в окнах есть флаги выполнения изображений, но я не знаю деталей.

Благодарю.

EDIT1

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

1 ответ

Неважно, нашел это.

  1. Создайте ключ с именем этого процесса (например, aaa.exe) в папке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Параметры выполнения файла изображения
  2. Добавьте строковое значение Отладчик со значением ADPlus -crash -mss YourSymbolCacheFolderPath -MiniOnSecond -quiet -o YourDumpFolderPath -sc
Другие вопросы по тегам