Как мне сделать снимок процесса, чтобы сохранить его состояние для будущего исследования?Это возможно?

StackOverflow https://stackoverflow.com/questions/138255

  •  02-07-2019
  •  | 
  •  

Вопрос

Возможно ли это, я не знаю, но это было бы очень полезно!

У меня есть процесс, который периодически завершается сбоем (работает в Windows 2000).Тогда у меня есть только один шанс отреагировать на это, прежде чем мне придется перезапускать его и мучительно ждать, пока он снова выйдет из строя.Я не писал этот процесс, поэтому у меня нет исходного кода для отладки.Неудача, казалось бы, случайна.

Имея снимок процесса, я мог многократно и быстро проверять реакцию на сбой.

Я думал о работе внутри виртуальной машины, но в данном случае это невозможно.

РЕДАКТИРОВАТЬ:@Джон Кейдж спросил:

Когда вы говорите «снимок», вы имеете в виду запись процесса, когда он вот-вот выйдет из строя (включая память, состояние программы и т. д.).и т. д.) ... а затем несколько раз воспроизводить последние несколько секунд, чтобы увидеть, какое влияние это оказывает на какой-либо другой компонент?

Это именно то, что я имею в виду!

Это было полезно?

Решение

Я думаю минидамп это то, что вы ищете.

Вы также можете использовать Пользовательский дамп:

Пользовательский режим Dumper Dumper (userDump) сбрасывает любое запущенное изображение памяти Win32 (включая системные процессы, такие как csrss.exe, winlogon.exe, services.exe и т. Д.) На Fly, без подключения отладчика или завершения целевых процессов.Сгенерированный файл дампа может быть проанализирован или отладка с помощью стандартных инструментов отладки.

Этот статья показывает, как его использовать.

Другие советы

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

Это требует некоторого понимания ассемблера и не позволяет создать снимок процесса для последующего анализа.Для этого вам нужно будет написать собственный отладчик - теоретически это должно быть возможно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top