¿Cómo tomaría una instantánea de un proceso para preservar su estado para futuras investigaciones? es posible?

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

  •  02-07-2019
  •  | 
  •  

Pregunta

Si esto es posible, no lo sé, pero sería muy útil.

Tengo un proceso que falla periódicamente (ejecutándose en Windows 2000). Entonces solo tengo una oportunidad de reaccionar antes de tener que reiniciarlo y esperar dolorosamente a que vuelva a fallar. No escribí el proceso, así que no tengo la fuente para depurar. El fallo es aparentemente aleatorio.

Con una instantánea del proceso, pude probar repetidamente y rápidamente las reacciones al fallo.

Pensé en correr dentro de una máquina virtual, pero esto no es posible en esta instancia.

EDITAR: @Jon Cage preguntó:

  

Cuando dices una instantánea, te refieres a capturar un proceso cuando está a punto de fallar (incluida la memoria, el estado del programa, etc.) ... y luego repetir los últimos segundos repetidamente para ver qué efecto tiene en otros ¿componente?

¡Esto es exactamente lo que quiero decir!

¿Fue útil?

Solución

Creo que minidump es lo que estás buscando.

También puede usar Userdump :

  

El volcado de proceso del modo usuario   (userdump) vuelca cualquier Win32 en ejecución   procesa la imagen de memoria (incluyendo   procesos del sistema como csrss.exe,   winlogon.exe, services.exe, etc) en   La mosca, sin adjuntar un depurador,   o terminando procesos de destino.   El archivo volcado generado puede ser analizado o   depurado utilizando el estándar   herramientas de depuración.

Este artículo te muestra cómo usarlo.

Otros consejos

Mi mejor apuesta es comenzar el proceso en un depurador ( OllyDbg es mi herramienta preferida). El proceso se detendrá en una excepción, y puede intentar averiguar qué sucedió poco antes de eso.

Esto necesita cierta comprensión del ensamblador y no permite crear una instantánea del proceso para su posterior análisis. Necesitarías escribir tu propio depurador para eso, debería ser teóricamente posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top