Нет, это не встроенная функция appverif.exe. Не настоящая проблема, вы можете использовать другую программу для создания мини-накопителя. Мне нравится SysInternals' ProcDump utility.
Запустите приложение appverif.exe, чтобы настроить тестовое приложение. Вы хотите изменить свойство ExceptionOnStop (нижнее окно). Установите его ИСТИННО, чтобы исключение выдавалось, когда тест терпит неудачу.
Затем запустите свой тест с помощью procdump, сообщите ему, чтобы создать дамп в необработанном исключении с аргументом -e
. Например:
c:\bin\procdump -e -x . broken.exe
Похоже, это когда я попробовал его на broken.exe, он намеренно искажает ручку:
ProcDump v7.1 - Writes process dump files
Copyright (C) 2009-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
With contributions from Andrew Richards
Process: broken.exe (5892)
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: .\
Dump filename/mask: PROCESSNAME_YYMMDD_HHMMSS
Press Ctrl-C to end monitoring without terminating the process.
[11:23:30] Exception: C0000008.INVALID_HANDLE
[11:23:30] Exception: C0000421
[11:23:30] Unhandled: C0000421
[11:23:30] Dump 1 initiated: .\broken.exe_150713_112330.dmp
[11:23:30] Dump 1 complete: 1 MB written in 0.0 seconds
[11:23:31] Dump count reached.
Вы, вероятно, хотите, чтобы изменить место, где записывается файл дампа и добавьте некоторую автоматизацию, поэтому появляется уведомление о создании дампа.
Для этого требуется инструмент для запуска процесса? Как это будет работать с сервисом (если вообще)? При этом он будет продолжать работать после захвата дампа для исключения appverif (т. Е. Утечки кучи)? –
Я понятия не имею, как этот комментарий имеет значение. Когда вы хотите протестировать приложение, вам нужно его запустить. При запуске приложения или запуске procdump не имеет значения. Только реальная вещь, которую вы можете сделать неправильно, - это не попробовать. –