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