2010-02-01 23 views
9

Tengo un par de preguntas sobre volcados del núcleo. Tengo gdb en Windows, usando Cygwin.Análisis de volcado del núcleo utilizando gdb

  1. ¿Cuál es la ubicación del archivo de volcado de memoria? ¿Es un archivo a.exe.stackdump? (Este es el único archivo que se generó después del bloqueo) Leí en otros foros que el archivo de volcado del núcleo se llama "núcleo". Pero no veo ningún archivo con el nombre "núcleo".

  2. ¿Cuál es el comando para abrir y comprender el archivo de volcado del núcleo?

Respuesta

12
  1. es necesario configurar Cygwin para producir volcados de memoria mediante la inclusión de

    error_start=x:\path\to\dumper.exe

    en la variable de entorno CYGWIN (ver here en la sección "dumper" para más información). Si no hiciste esto, solo obtendrás un stacktrace, que también puede ayudarte a diagnosticar el problema.

  2. inicio GDB la siguiente manera para adjuntarlo a un archivo de volcado de memoria:

    gdb myexecutable --core=mycorefile

    Ahora puede utilizar los comandos de GDB habitual para imprimir una StackTrace, examine los valores de las variables, y así sucesivamente.

+0

Cómo modificar la variable de entorno cygwin? – avd

+0

ver http://en.wikipedia.org/wiki/Environment_variable. Si está usando Cygwin, le recomiendo encarecidamente que lea algunos conceptos básicos de Unix: los va a necesitar. –

+0

En realidad, conozco el concepto de variable de entorno. Entendí lo que decía, estableciendo una variable de entorno llamada "error_start". Me pregunto ¿dónde debería definir la nueva variable de entorno? en el mismo lugar (mi computadora-> propiedades -> ...)? – avd

2
  1. Sí, cygwin crea a.exe.stackdump archivos por defecto. Debe configurarlo para crear core s también (la respuesta de Martin lo cubre).
  2. Una explicación sencilla la depuración volcado de memoria se puede encontrar here
Cuestiones relacionadas