procdump не создает дамп для необработанного исключения
Я только начал играть с procdump, и я хочу получить полный дамп приложения, когда возникает случайное исключение второго шанса.
Согласно документации, я запускаю это так:
procdump.exe -ma -e -x C:\CrashDumps C:\Code\CrashApp\CrashApp\bin\Debug\CrashApp.exe
CrashApp.exe
это простое консольное приложение, которое выдает исключение при запуске.
Это вывод, который я получаю:
ProcDump v7.0 - Writes process dump files
Copyright (C) 2009-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
With contributions from Andrew Richards
Process: CrashApp.exe (6516)
CPU threshold: n/a
Performance counter: n/a
Commit threshold: n/a
Threshold seconds: 10
Hung window check: Disabled
Log debug strings: Disabled
Exception monitor: Unhandled
Exception filter: *
Terminate monitor: Disabled
Cloning type: Disabled
Concurrent limit: n/a
Avoid outage: n/a
Number of dumps: 1
Dump folder: C:\CrashDumps\
Dump filename/mask: PROCESSNAME_YYMMDD_HHMMSS
Press Ctrl-C to end monitoring without terminating the process.
CLR Version: v4.0.30319
[23:54:51] Exception: E0434F4D.System.Exception ("Hello World")
Unhandled Exception: System.Exception: Hello World
at CrashApp.Program.Crash(String message) in c:\Code\CrashApp\CrashApp\Program.cs:line 18
at CrashApp.Program.Main(String[] args) in c:\Code\CrashApp\CrashApp\Program.cs:line 13
[23:54:52] The process has exited.
[23:54:52] Dump count not reached.
Как вы можете видеть, он сообщает о незапланированном исключении, но не создает дамп.
Что я здесь не так делаю?
2 ответа
Поскольку .net
тег присутствует, я подозреваю, что вы контролируете управляемый процесс. Если так, то добавьте -g
опция командной строки и procdump будут работать так, как вы ожидаете.
Попробуйте использовать параметры e 1 -f -g
,
-e 1
скажет procdump захватить файл дампа при исключениях первого (то есть обработанного), а также необработанных и -f
Параметр позволит вам фильтровать по типу исключений, которые вас интересуют.
Например
procdump -ma -e 1 -f C00000FD.STACK_OVERFLOW -g -w CrashApp.exe