Я хотел бы создать дамп для исключений первого шанса для конкретного приложения, которое запускается через случайные промежутки времени несколько раз в день, запуская несколько экземпляров в любой момент времени.
Что я пробовал
Procdump
Чтобы использовать procdump, мне нужно знать PID или дождаться запуска процесса. При запуске нескольких экземпляров это не сработает, чтобы начать мониторинг всех запущенных экземпляров.
gflags
Используя gflags, я мог бы подключить отладчик, но я не хочу вручную продолжать каждый процесс, и я понятия не имею, как автоматизировать этот процесс. Я пытался использовать procdump в качестве отладчика в gflags, но не знаю, как передать процесс в procdump.
procdump
может использовать имя процесса, а не только PID. См. первый пример. - person Patrick Quirk   schedule 25.01.2016procdump
вместе с исходным процессом? - person Thomas Weller   schedule 25.01.2016c:\path\to\windbg.exe -p %ld
) и передать скрипт в качестве аргумента (-c "$$>a< c:\path\to\catchfirstchance.dbg"
), который выполняет первоначальную настройку (например,sxe clr
) и переходит через начальную точку останова (g
). - person Thomas Weller   schedule 25.01.2016%ld
тоже может работать для procdump - person Thomas Weller   schedule 25.01.2016procdump -ma -e 1 %ld
в раздел отладчика gflags для notepad.exe и запуск блокнота дает мне следующую ошибкуNo process matching the specified name can be found
Я надеялся, что для этого не придется использовать windbg. Кстати, дамп должен сниматься автоматически. Не должно быть никакого вмешательства пользователя. - person Lieven Keersmaekers   schedule 25.01.2016cdb
вместо WinDbg и убедиться, что отладчик существует после записи аварийного дампа, чтобы пользователь не вмешивался. - person Thomas Weller   schedule 25.01.2016