Используя ProcDump, чтобы получить дамп службы?
Кто-нибудь знает, возможно ли это / как использовать ProcDump для получения дампа службы Windows? Команда, которую я хочу выполнить, выглядит следующим образом:
ProcDump -e -mp -x myservice.exe mydump.dmp
Однако я не могу запустить службу из командной строки или сообщения отладчика. Кто-нибудь знает, есть ли способ обойти это?
1 ответ
Хорошо. После того, как я немного поигрался, я узнал, как это сделать, мне нужна была команда: Procdump -e -mp 14312 mydump.dmp, где 14312 - идентификатор процесса службы, это можно найти в диспетчере задач в службах. вкладка.
Если кто-то сталкивается с этим, я обычно запускаю:
procdump.exe -ma -i C:\Dumps
Это зарегистрирует procdump в качестве отладчика Just-in-Time (AeDebug) и создаст дамп для любого аварийного процесса в системе.
Я обнаружил, что "преобразование в широкую сеть" дает лучший результат по сравнению с настройкой дампа для конкретного имени процесса или PID.
Есть еще один вариант, который позволяет сбрасывать исключения даже при запуске службы Windows. С помощью "Параметры выполнения файла образа" вы можете настроить procdump как обслуживаемый отладчик.
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\{your service executable name. f.e. notepad.exe}" /v "Debugger" /t REG_SZ /d "{procdump path}\procdump -ma -accepteula -e 1 -t -n 10 -x {dumps output folder}" /f
Не забудьте заменить фигурные скобки своими значениями. Пожалуйста, проверьте значение параметров командной строки procdump, -ma, -e 1, -t, -n 10 здесь
Чтобы удалить procdump:
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\{your service executable name. f.e. notepad.exe}" /va /f