Red de conocimiento informático - Material del sitio web - Cómo utilizar WinDbg para analizar el archivo MEMORY.DMP

Cómo utilizar WinDbg para analizar el archivo MEMORY.DMP

En el proceso de desarrollo real de C ++, los desarrolladores generalmente prueban el programa desarrollado por unidad y luego lo entregan a los evaluadores para que lo prueben. Cuando ocurre un error durante las pruebas del desarrollador, podemos depurarlo directamente localmente. Si el evaluador está probando errores a nivel de falla, si necesitamos depurar, a menudo necesitamos usar la herramienta vs Remote Debugger para la depuración remota (sobre el método de depuración remota de vs2010, pero cuando el programa falla en las manos del usuario, podemos utilizar la depuración remota Sin embargo, si el desarrollador no puede ir directamente al sitio del usuario para depurar, el usuario debe generar un archivo DMP para que el desarrollador pueda utilizar el archivo DMP para el análisis.

Este artículo presenta principalmente. Proceso de desarrollo de C++. Cómo analizar y localizar errores después de que el programa falla (basado en el sistema XP).

1. ejecute la ventana y haga clic en "Aceptar"

Guía completa del método de análisis de archivos DMP de WinDbg

(2) Confirme el cuadro de diálogo emergente que aparece en (1)

WinDbg analiza el método del archivo DMP de la estrategia completa

WinDbg analiza el método del archivo DMP de la estrategia completa

WinDbg analiza el método del archivo DMP de la estrategia completa

WinDbg analiza el método del archivo DMP de la estrategia completa

WinDbg analiza el método del archivo DMP de la estrategia completa

(3) Después de que aparezca el cuadro de diálogo de confirmación en el paso (2 ), haga clic en el botón Aceptar para completar la configuración. Watson como depurador de aplicaciones predeterminado

El programa viene con el sistema Dr.Watson

(4) Escriba: drwtsn32 nuevamente. ventana de ejecución, como se muestra a continuación:

Guía completa para el análisis WinDbg de archivos DMP

(5) Haga clic en el botón "Aceptar" y realice las siguientes configuraciones en el cuadro de diálogo emergente

Guía completa para el análisis WinDbg de la estrategia de archivos DMP

(6) Haga clic en el botón "Aceptar" para completar la configuración del archivo DMP

2. Dr. Watson

(1) Abra la tabla de registro

(2) Ingrese la clave principal [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug] en el registro. Luego establezca el valor de la clave "AUTO" en 0, como se muestra a continuación:

Guía completa sobre cómo analizar archivos DMP con WinDbg

3. >/en -us/windows/hardware/gg463009.aspx, descargar e instalar

IV. Obtención de archivos DMP

(1) Utilice vs2010 para crear un programa basado en win32. El código fuente es el siguiente:

Guía completa sobre cómo analizar archivos DMP con WinDbg

(2) Sabemos que los números enteros no se pueden dividir entre 0 cuando se aprende C++; de lo contrario, el programa chocar. En (1), debe escribir un programa que pueda desencadenar una excepción de 0 y hacer que el programa finalice. Compile el programa en (1) y los resultados son los siguientes:

Estrategia completa del método de archivo DMP de análisis WinDbg

(3) Ejecute el programa test.exe en (2), y el programa falla.

Como se muestra a continuación:

Guía completa para el método de análisis de archivos DMP de WinDbg

(4) Siga los pasos de "I. Configuración de adquisición de archivos DMP" para configurar Dr. Watson como la aplicación predeterminada. depurador.

(5) Ejecute el programa test.exe en (2) nuevamente de la siguiente manera:

Guía completa sobre cómo analizar archivos DMP con WinDbg

Haga clic en Aceptar para completar la generación del archivo dmp.

(6) Abra la ruta del archivo dmp de configuración en (4). (En este ejemplo, la dirección predeterminada es C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson) de la siguiente manera:

Estrategia completa para el método de análisis de archivos DMP de WinDbg

Entre ellos, user.dmp está el archivo dmp que necesitamos.

Análisis en “IV.