GDB11core dump的基本使用



执行命令:ulimit -c,返回0:表示不会在崩溃的时候自动生成core dump文件
ulimit -c unlimited,这样只要系统不重启,就会生效,表示对core文件的大小无限制


在系统文件/etc/security/limits.conf中添加如下代码,可以确保core的设置永久生效
* soft core unlimited
* hard core unlimited

在这个配置文件里设置core产生的路径或者格式(下方仅仅设置了格式,没有设置路径):/proc/sys/kernel/core_pattern

echo -e "%e-%p-%t" > /proc/sys/kernel/core_pattern
%e:进程的名字,如果是在子线程里core的,那么这里会显示子线程的名字
%p:进程id,如果是在子线程里core的,那么这里会显示子线程的名字
%t:时间戳

为活着的进程生成core dump文件:
1). gdb attach pid
2). gcore test.core
这样就在当前目录生成了core dump文件:test.core


查看进程崩溃的core
gdb ./进程的二进制 ./进程二进制的core
bt

GDB