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.

Как вы видите, он сообщает об исключении, но не создает дамп. Что я здесь делаю неправильно?

Ответ 1

Поскольку присутствует тэг .net, я подозреваю, что вы контролируете управляемый процесс. Если это так, добавьте параметр -g командной строки, и procdump будет работать так, как вы ожидаете.

Ответ 2

Попробуйте использовать параметры e 1 -f -g.

-e 1 сообщит procdump для сбора файла дампа при исключениях с первой вероятностью (т.е. обработанных), а также необработанных, а параметр -f позволит вам фильтровать интересующий вас тип исключения.

например.

procdump -ma -e 1 -f C00000FD.STACK_OVERFLOW -g -w CrashApp.exe