利用GDB调试多线程core文件

本文介绍如何在Linux环境下使用GDB调试工具来分析core文件,通过具体步骤演示了如何查找导致程序崩溃的原因,包括查看单个线程及所有线程的堆栈信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值