Linux genera una configuración relacionada con el archivo central, ejemplo de depuración del archivo central

1. Generar la configuración del sistema de archivos central

Use el comando ulimit -c para ver la configuración del archivo central en el sistema actual. 0 significa que no se genera ningún archivo central; un número que no es 0 significa que el tamaño del archivo central está limitado a no más de a, y la unidad es k; ilimitado significa que el tamaño del archivo central no está limitado.

ulimit -c             // 查看当前系统设置
ulimit -c 4096        // 修改系统设置,限制core文件大小不超过4096kb
ulimit -c unlimited   // 修改系统设置,不限制core文件大小

La configuración de la máquina virtual de prueba es limitar el archivo principal a no más de 1024 kb:

 2. Configuración de la ruta de generación de archivos del núcleo

Utilice el comando sysctl o vea el archivo de configuración para obtener la ruta de generación del archivo principal del sistema actual:

方法一:sysctl kernel.core_pattern
方法二:cat /proc/sys/kernel/core_pattern

Cómo modificar la ruta del archivo principal:

(1) Ejecute el comando sysctl kernel.core_pattern=core path para modificarlo y fallará después de reiniciar

(2) Agregue kernel.core_pattern=core ruta en /etc/sysctl.conf, luego ejecute sysctl -p para cargar

El nombre principal en sí puede tener la siguiente información adjunta:

%pag  Generar ID de proceso de archivo central
%gramo Genere el ID de grupo real del archivo central
%s Generar señal de archivo central
%t Generar marca de tiempo del archivo central
% h Generar nombre de host del archivo central
%mi Generar el nombre del archivo del programa principal
%u Genere la ID de usuario real del archivo central

Lo siguiente utiliza la modificación temporal para modificar la ruta predeterminada del archivo central y agregar la información de tiempo del archivo central:

3. Prueba de código

Guarde el siguiente código como coretest.c:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    char *p = NULL;
    *p = 1;
}

Ejecute el comando gcc -g coretest.c -o main para generar un programa ejecutable y ejecute directamente ./main para ejecutar el programa ejecutable:

4. Depuración de archivos del núcleo 

Use el comando gdb para seleccionar el archivo principal y el programa fuente para la depuración, y podrá ubicar la ubicación del error del programa:

Supongo que te gusta

Origin blog.csdn.net/cesheng3410/article/details/130102431
Recomendado
Clasificación