使用GDB调试多线程实例详解

发布时间 - 2026-01-11 01:59:52    点击率:

先写一段多线程程序。

makefile

加上 -g参数生成可调式信息, 可以进行调试。

pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失败。在gcc编译的时候,附加要加 -lpthread参数即可解决。

gdb test 进入调试

需要调试的地方打下断点,run运行到断点处。

r 运行到断点处,info thread可以查看被调试的线程。

thread apply all bt 让所有线程打印堆栈信息

set scheduler-locking off|on|step

在使用step或continue命令调试当前被调试线程的时候,其他线程也是同时执行的,如果我们只想要被调试的线程执行,而其他线程停止等待,那就要锁定要调试的线程,只让它运行。

off:不锁定任何线程,所有线程都执行。

on:只有当前被调试的线程会执行。

step:阻止其他线程在当前线程单步调试的时候抢占当前线程。只有当next、continue、util以及finish的时候,其他线程才会获得重新运行的。

show scheduler-locking:

这条命令是为了查看当前锁定线程的模式。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 使用GDB调试多线程  # GDB调试多线程的实例  # CentOs下安装gcc/g++/gdb的方法  # 基于Linux调试工具strace与gdb的常用命令总结  # 基于c语言中调试工具的用法汇总(不包含gdb)  # linux中gdb的入门使用教程  # Linux调试工具GDB使用简易教程  # Linux应用调试使用gdb和gdbserver命令详解  # 如何使用GDB调试PHP程序  # gdb调试命令的使用及总结  # 通过GDB学习C语言的讲解  # 是在  # 也就  # 才会  # 这条  # 希望能  # 让它  # 谢谢大家  # 多线程  # 可以查看  # 库中  # 是为了  # 先写  # continue  # phread  # util  # gcc  # gdb  # strong  # lpthread  # br 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  网站制作企业,网站的banner和导航栏是指什么?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Swift开发中switch语句值绑定模式  Laravel如何创建自定义中间件?(Middleware代码示例)  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何在阿里云部署织梦网站?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  微信小程序 wx.uploadFile无法上传解决办法  Laravel distinct去重查询_Laravel Eloquent去重方法  如何利用DOS批处理实现定时关机操作详解  创业网站制作流程,创业网站可靠吗?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何在阿里云高效完成企业建站全流程?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  微信推文制作网站有哪些,怎么做微信推文,急?  如何快速生成ASP一键建站模板并优化安全性?  Python并发异常传播_错误处理解析【教程】  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  lovemo网页版地址 lovemo官网手机登录  独立制作一个网站多少钱,建立网站需要花多少钱?  Bootstrap整体框架之JavaScript插件架构  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何用免费手机建站系统零基础打造专业网站?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  🚀拖拽式CMS建站能否实现高效与个性化并存?  制作企业网站建设方案,怎样建设一个公司网站?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  iOS UIView常见属性方法小结  音乐网站服务器如何优化API响应速度?  Laravel如何优化应用性能?(缓存和优化命令)  如何快速搭建个人网站并优化SEO?  Laravel如何使用模型观察者?(Observer代码示例)  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Android okhttputils现在进度显示实例代码  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在腾讯云免费申请建站?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧