[skill][debug][gdb] 使用core dump 进行GDB

时间:2020-12-28 16:40:00

 

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