(1)编译时 加 -g 选项
(2)终端运行 gdb a.out
(3)设置断点 b 绝对路径或相对路径/文件名 行号
注: 回车后可以继续在不同文件中设置断点
(4)设置断点 b 函数名
设置断点 b 行号
(5)进入函数命令为 s
(6)下一行 n
(7)继续 c
gdb core 调试
如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置:
设置core大小为无限ulimit -c unlimited
设置文件大小为无限ulimit unlimited
发生core dump之后,用gdb进行查看core文件的内容, 以定位文件中引发core dump的行:
gdb [execfile] [core file]
如: gdb ./test test.core 在进入gdb后, 用bt命令查看backtrace以检查发生程序运行到哪里,来定位core dump的文件->行。
另外需要注意的是,如果你的机器上跑很多的应用,你生成的core又不知道是哪个应用产生的,你可以通过下列命令进行查看:file core
bt 查看段错误位置
1万+

被折叠的 条评论
为什么被折叠?



