程序异常时会产生coredump文件。
能够产生coredump文件的信号包括SIGQUIT、SIGILL、SIGTRAP、SIGABRT、SIGFPE、SIGSEGV、SIGBUS、SIGSYS、SIGXCPU、SIGXFSZ。
内核不仅可以直接输出core文件,还可以启动进程,通过管道输出coredump数据。
/proc/sys/kernel/core_pattern文件记录了coredump文件的输出方式。如果第一个字符为|,则表示通过管道输出。
部分桌面系统设置输出为sysctl指令,Linux内核中该项配置为**|/usr/lib/systemd/ systemd-coredump**。
通过sysctl -w ‘kernel.core_pattern=core'指令设置coredump文件的输出文件名为core。
GDB的内置指令core-file用于加载core文件。
可以使用GDB参数加载core文件,格式为“gdb -c core_file