利用GDB调试多线程core文件

来源:互联网 发布:c语言char怎么输出 编辑:程序博客网 时间:2024/06/05 08:50

在linux下程序崩溃时,一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的,接下来我们通过一个案例观察怎么利用GDB调试core文件。

在命令行中键入 gdb <可执行文件> < core文件>: 
这里写图片描述

进入gdb命令行中: 
这里写图片描述

键入 bt 可以查看程序终止线程的堆栈: 
这里写图片描述
但是有时错误不是发生在这个堆栈上。

键入 info threads 查看所有线程: 
这里写图片描述

键入 thread apply all bt 查看所有线程内容: 
这里写图片描述

键入 t 85 转换到thread 85中: 
这里写图片描述

键入 bt 查看thread 85的堆栈: 
这里写图片描述