tutorial - todo sobre elasticsearch
Cómo generar un archivo de volcado de núcleo en Ubuntu (3)
Esta pregunta ya tiene una respuesta aquí:
Me gustaría saber cómo generar un archivo de volcado de núcleo en Ubuntu. Estoy usando Ubuntu 8.04.1 y el compilador gcc 4.2.3. He escrito un programa de C simple para generar un volcado de núcleo. He compilado el programa como in - gcc -g badpointer.c. Cuando ejecuto el programa, da un error de segmentación pero no se genera ningún volcado de núcleo. ¿Qué cosas adicionales tengo que hacer para generar un archivo de volcado de núcleo?
Activa tus coredumps mediante:
ulimit -c unlimited
También verifique:
$ sysctl kernel.core_pattern
para ver dónde se crean los volcados (% e será el nombre del proceso y% t será la hora del sistema).
Puede cambiarlo en /etc/sysctl.conf y luego volver a cargar con sysctl -p
.
Puedes probarlo por:
sleep 10 &
killall -SIGSEGV sleep
Si el volcado de núcleo es exitoso, verá "(volcado de núcleo)" después de la indicación de falla de segmentación.
Ver también:
Cómo generar un seguimiento de pila cuando mi aplicación gcc C ++ se bloquea
Ubuntu
Si tienes Ubuntu, tus volcados se crean por apport
en /var/crash
, pero en un formato diferente (edita el archivo para verlo).
Por favor lea más en:
https://wiki.ubuntu.com/Apport
OS X
En OS X, sus informes de fallos son creados automáticamente por Crash Reporter en forma de backtraces. Puede encontrar estos archivos de bloqueo ejecutando la Console y dirigiéndose a la sección ''Informes de diagnóstico del usuario'' (en el grupo ''Información de uso y diagnóstico'') o puede ubicarlos en ~/Library/Logs/DiagnosticReports
.
Los archivos principales reales se generan en /cores
.
Establezca un tamaño máximo de volcado de núcleo con ulimit -c
TAMAÑO .
Verifique la salida de ulimit -c
, si la salida es 0, es por eso que no tiene un volcado de núcleo.
Utilizar
ulimit -c unlimited
para permitir la creación del núcleo (tal vez reemplazar unlimited
por un límite de tamaño real para que sea más seguro).