利用GDB调试多线程core文件

时间:2024-04-13 07:59:24

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

在命令行中键入 gdb <可执行文件> < core文件>: 
利用GDB调试多线程core文件

进入gdb命令行中: 
利用GDB调试多线程core文件

键入 bt 可以查看程序终止线程的堆栈: 
利用GDB调试多线程core文件
但是有时错误不是发生在这个堆栈上。

键入 info threads 查看所有线程: 
利用GDB调试多线程core文件

键入 thread apply all bt 查看所有线程内容: 
利用GDB调试多线程core文件

键入 t 85 转换到thread 85中: 
利用GDB调试多线程core文件

键入 bt 查看thread 85的堆栈: 
利用GDB调试多线程core文件