Me gustaría saber cómo generar un archivo de volcado del núcleo en Ubuntu. Estoy usando Ubuntu 8.04.1 y el compilador gcc 4.2.3. He escrito un simple programa en C para generar un volcado del núcleo. He compilado el programa como en - gcc -g badpointer.c. Cuando ejecuto el programa, da un error de segmentación pero no se genera un volcado de núcleo. ¿Qué cosas adicionales tengo que hacer para generar un archivo de volcado de núcleo?Cómo generar el archivo de volcado del núcleo en Ubuntu
Respuesta
Compruebe la salida de ulimit -c
, si sale 0, esta es la razón por la que no tiene núcleo descargado.
Uso
ulimit -c unlimited
para permitir la creación núcleo (quizás reemplazar unlimited
por un límite de tamaño real para ser más seguro).
Establezca un tamaño de volcado de núcleo máximo con ulimit -c
TAMAÑO.
Activa tus coredumps por:
ulimit -c unlimited
También puedes ver:
$ sysctl kernel.core_pattern
para ver donde se crean los vertederos (% electrónico será el nombre del proceso, y% t será la hora del sistema)
Puede cambiarlo en /etc/sysctl.conf y luego volver a cargarlo por sysctl -p
.
Puede probarlo por:
sleep 10 &
killall -SIGSEGV sleep
Si el núcleo dumping es exitosa, se verá “(core dumped)” después de la indicación de fallo de segmentación.
Consulte también:
How to generate a stacktrace when my gcc C++ app crashes
Ubuntu
Si tienes Ubuntu, sus vertederos son creados por apport
en /var/crash
, pero en diferente formato (editar el archivo de Míralo).
Lea más en:
https://wiki.ubuntu.com/Apport
OS X
En OS X, los volcados se crean automáticamente por Crash Reporter en forma de trazas inversas. Puede encontrar estos archivos de bloqueo ejecutando Console y yendo a la sección 'Informes de diagnóstico del usuario' (en el grupo 'Información de diagnóstico y uso') o puede ubicarlos en ~/Library/Logs/DiagnosticReports
.
Los archivos principales reales se generan en /cores
.
Leer más: How to generate core dumps in Mac OS X?
- 1. Generar volcado del núcleo en Android
- 2. Volcado del núcleo en Linux
- 3. Cómo analizar el volcado del núcleo
- 4. obteniendo stacktrace del volcado del núcleo
- 5. Formato de archivo de volcado de núcleo
- 6. Archivo de volcado del núcleo no generado en el error de segmentación
- 7. Análisis de volcado del núcleo utilizando gdb
- 8. Cómo limitar el tamaño del archivo de volcado del núcleo al generarlo usando GDB
- 9. Solicitar el volcado del he va en java (volcado del núcleo) desde la aplicación
- 10. ¿Cómo analizar el archivo de volcado del núcleo de un programa con gdb?
- 11. Cómo causar un volcado del núcleo en C/C++
- 12. ¿Cómo puedo configurar ventanas para generar un volcado del núcleo desde una aplicación?
- 13. Error de segmentación (núcleo volcado)
- 14. ¿Cómo hacer un buen uso del seguimiento de la pila (desde el núcleo o el volcado del núcleo)?
- 15. por proceso directorio de volcado del núcleo configurable
- 16. Cómo habilitar el volcado del núcleo en mi programa C++ de Linux
- 17. núcleo de dumping en el BGF en OSX (sin "gcore" o "generar núcleos-archivo")
- 18. ¿Tiene ActionScript un equivalente a un "volcado del núcleo"?
- 19. archivos de volcado del núcleo en Linux: ¿cómo obtener información sobre los archivos abiertos?
- 20. ¿Puede JDK Sun generar archivos de volcado núcleo/montón cuando JVM se cuelga?
- 21. ¿Por qué se generan archivos de volcado de núcleo?
- 22. OS X: ¿Genera volcado del núcleo sin que se reduzca el proceso?
- 23. núcleo volcado, pero el archivo principal no está en el directorio actual?
- 24. ¿Cómo puedo extraer el archivo DLL del volcado de memoria?
- 25. Java tiene un núcleo 39G volcado
- 26. Volcado de núcleo mínimo (seguimiento de pila + marco actual solamente)
- 27. aborto infinito() en un backrace de un volcado del núcleo del programa C++
- 28. Volcado de memoria en el archivo
- 29. Ingeniería inversa una secuencia de comandos Perl basada en un volcado del núcleo
- 30. Cambiar el temporizador del núcleo de Linux
con 'sueño 10 y killall -SIGSEGV sleep' howto añadir opciones a repoen o mantener cerrada aplicación? –
@ e-info128 Una vez que el proceso murió de señal SIGSEGV (básicamente se bloqueó), no puede volver a abrirlo. Debe volver a iniciar un nuevo proceso a menos que sea un servicio, por lo que puede reaparecer automáticamente. – kenorb