Para generar un volcado de núcleo en Busybox, podemos agregar los siguientes parámetros en el script de inicialización que ejecuta nuestro ejecutable. Por lo tanto, cada vez que inicializamos el software y exportamos variables de entorno, podemos copiar las líneas a continuación al script también para volcar el núcleo en caso de que veamos algún bloqueo.
Para establecer la ubicación de los volcados del núcleo en Busybox, puede establecer la ruta del archivo del núcleo utilizando el sistema de archivos proc. Por ejemplo, si desea volcados de núcleo en /tmp/crash/corefiles
:
mkdir -p /tmp/crash/corefiles
chmod 775 /tmp/crash/corefiles
echo "/tmp/crash/corefiles/%e.%s.core" > /proc/sys/kernel/core_pattern
Donde las variables son:
% e es el nombre de archivo
% g es el gid bajo el cual se ejecutaba el proceso
% p es el pid del proceso
% s es la señal que causó el volcado
% t es el momento en que ocurrió el volcado
% u es el uid bajo el cual se estaba ejecutando el proceso
Además, debe establecer el tamaño del archivo central, el siguiente comando establece el tamaño del archivo central en ilimitado
ulimit -c unlimited
Ahora, para verificar el tamaño del archivo central establecido para cada subproceso dentro de un proceso, podemos verificar usando
cat /proc/<PID>/limits
La salida del comando anterior:
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size unlimited unlimited bytes
Max open files 10000 10000 files
Max address space unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 31868 31868 processes
Max locked memory 65536 65536 bytes
Max file locks unlimited unlimited locks
Max pending signals 31868 31868 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Como podemos ver en la salida anterior, el tamaño máximo del archivo central está establecido en ilimitado.
Para obtener más información, visite este enlace.
Técnicas de depuración de aplicaciones de Linux / archivos principales