Выполнение ProcDump Нев интерактивном режиме

ProcDump не должен быть выполнен в интерактивном настольном сеансе. Некоторые причины, что Вы могли бы хотеть выполнить это нев интерактивном режиме, состоят в том, что Вы имеете продолжительный целевой процесс и не хотите оставаться, входил в систему, контролируя это, или Вы отслеживаете проблему, которая происходит, когда никто не зарегистрирован или во время выхода из системы.

Следующий пример показывает, как использовать PsExec, чтобы выполнить ProcDump как Систему в том же самом неинтерактивном сеансе и рабочий стол в который службы, работающие как выполненная Система. Пример выполняет это в пределах Cmd.exe экземпляр так, чтобы его консольные выводы могли быть перенаправлены к файлам.

Отметьте использование escape (A) символ с символом перенаправления вывода (>) так, чтобы это не было обработано как выходной редиректор на командной строке PsExec, но стало частью Cmd.exe командная строка. Следующий пример должен быть введен как единственная командная строка. (См. Главу 6, "PsTools," для получения дополнительной информации о PsExec, и см. Главу 2 для получения дополнительной информации о неинтерактивных сеансах и рабочих столах.)

psexec-s-d cmd.exe/c procdump.exe-e-t testapp c:\temp\testapp.dmp a> c:\temp\procdump.out 2A> c:\temp\procdump.err.

Если целевые катастрофические отказы приложения во время выхода из системы, этот тип команды будет работать лучше, чем если бы ProcDump работали в том же самом сеансе, потому что ProcDump мог закончить тем, что вышел ранее чем цель. Однако, если выход из системы завершит целевое приложение, то ProcDump не будет в состоянии получить дамп. Действия ProcDump как отладчик для его целевого процесса, и выхода из системы отсоединяют любые отладчики, присоединенные к процессам, которые он завершает.

Отметьте также, что ProcDump не может контролировать для подвешенных окон приложения, когда целевой процесс работает на различном рабочем столе от ProcDump.

 

Получение Всех Катастрофических отказов Приложения с ProcDump

Можно использовать ProcDump, чтобы создать дамп катастрофического отказа всякий раз, когда любые катастрофические отказы приложения, конфигурируя его как посмертный отладчик 1 В реестре, пойдите в Windows HKLM\Software\Microsoft\NT\CurrentVersion\AeDebug. Установите "Отладчик", который REG_SZ оценивают командной строке ProcDump, чтобы выполниться, используя %ld как заполнитель для PID процесса катастрофического отказа. Например, следующая команда создаст полный дамп памяти в C:\Dumps всякий раз, когда любое приложение отказывает с именем процесса и отметкой времени в имени файла:

"C:\Program Files\Sysinternals\procdump.exe"/accepteula - мама %ld C:\Dumps.

Важно определить путь к файлу дампа. Иначе, ProcDump пытается создать файл дампа в текущем каталоге, который является %SystemRoot %\System32 когда запущено этим способом. Поскольку сконфигурированный отладчик запускается в том же самом контексте защиты как процесс катастрофического отказа, ProcDump не может создать файл дампа там если процесс катастрофического отказа имевшие ­административные права. Также отметьте, что целевая папка должна существовать перед запусками ProcDump, и это должно быть перезаписываемо.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: