ejecutar compilar compilador como c++ linux crash-dumps

c++ - compilar - ejecutar g++



Cómo habilitar el volcado del núcleo en mi programa Linux C++ (3)

De forma predeterminada, muchos perfiles están predeterminados en 0 tamaño de archivo central porque el usuario medio no sabe qué hacer con ellos.

Pruebe ulimit -c unlimited antes de ejecutar su programa.

Mi programa está escrito en C ++. compilado con gcc, usando -g3 -O0 -ggdb flags. Cuando se bloquea, quiero abrir su volcado del núcleo. ¿Crea un archivo de volcado de núcleo, o tengo que hacer algo para habilitar la creación de volcado de núcleo, en el programa mismo o en la computadora donde se ejecuta? ¿Dónde se crea este archivo y cuál es su nombre?


Puedes hacerlo de esta manera dentro de un programa:

#include <sys/resource.h> // core dumps may be disallowed by parent of this process; change that struct rlimit core_limits; core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY; setrlimit(RLIMIT_CORE, &core_limits);


Debes configurar ulimit -c . Si tiene 0 para este parámetro, no se crea un archivo coredump. Haga esto: ulimit -c unlimited y compruebe si todo es correcto ulimit -a . El archivo coredump se crea cuando una aplicación ha hecho, por ejemplo, algo inapropiado. El nombre del archivo en mi sistema es core.<process-pid-here> .