[skill][debug][gdb] 使用core dump 进行GDB
core dump 扫盲:https://wiki.archlinux.org/index.php/Core_dump
1. 人为制作 core dump
1.1 实时在线生成core dump。进程不会停止。
[root@okk ~]# pgrep KingKong 3850 [root@okk ~]# gdb (gdb) attach 3850 (gdb) generate-core-file Saved corefile core.3850 (gdb)
[root@okk ~]# ll -h core.3850
-rw-r--r-- 1 root root 1.2G May 24 10:37 core.3850
[root@okk ~]# pgrep KingKong
3850
[root@okk ~]#
1.2 对进程发生会造成core dump的信号
[root@base ~]# man 7 signal [root@okk ~]# pgrep KingKong 3850 [root@okk ~]# kill -11 3850
2. 调试
设置启用 core dump 文件
[root@okk kk]# ulimit -c 0 [root@okk kk]# ulimit -c unlimited [root@okk kk]# ulimit -c unlimited
准备好生成的core文件,和可执行程序的二进制文件。使用gdb查看。
/home/tong/Workspace/kk/2017-05-24-https-core-dump [tong@T7] [13:54] > gdb -core core.34373 KingKong