[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 

 

posted on 2017-05-24 13:55  toong  阅读(510)  评论(0编辑  收藏  举报