gdb调试多线程程序总结
GDB 调试多线程程序总结 GDB 调试多线程程序是一种复杂的调试技术,需要熟练掌握 GDB 的多线程调试命令。下面是 GDB 调试多线程程序的总结。 基本命令 在 GDB 中,使用 `info threads` 命令可以显示当前可调试的所有线程,每个线程会有一个 GDB 为其分配的 ID,后面操作线程的时候会用到这个 ID。前面有*的是当前调试的线程。 使用 `thread ID` 命令可以切换当前调试的线程为指定 ID 的线程。 使用 `break thread_test.c:123` 命令可以在所有线程中相应的行上设置断点。 使用 `thread apply ID1 ID2 command` 命令可以让一个或者多个线程执行 GDB 命令 command。 使用 `thread apply all command` 命令可以让所有被调试线程执行 GDB 命令 command。 scheduler-locking 命令 使用 `set scheduler-locking off|on|step` 命令可以控制线程的执行方式。off 不锁定任何线程,也就是所有线程都执行,这是默认值。on 只有当前被调试程序会执行。step 在单步的时候,除了 next 过一个函数的情况(熟悉情况的人可能知道,这其实是一个设置断点然后 continue 的行为)以外,只有当前线程会执行。 GDB 对多线程程序的支持 GDB 对于多线程程序的调试有如下的支持: * 线程产生通知:在产生新的线程时,GDB 会给出提示信息。 * 查看线程:使用 `info threads` 命令可以查看运行的线程。 * 切换线程:使用 `thread THREADNUMBER` 命令进行切换,THREADNUMBER 为上文提到的线程号。 实践操作 在实际操作中,需要熟练掌握 GDB 的多线程调试命令,了解线程的产生、查看和切换的方法。同时,需要了解 scheduler-locking 命令的使用方式,以便更好地控制线程的执行方式。 结论 GDB 调试多线程程序是一种复杂的调试技术,需要掌握多线程调试的基本命令和 scheduler-locking 命令的使用方式。只有通过实践和练习,才能熟练掌握 GDB 的多线程调试技术。



















剩余10页未读,继续阅读


- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 浙大干燥特性曲线的测定(计算机远程控制干燥实验).doc
- 电子监管网络系统建设方案.pdf
- 数据库Access案例教程教材全套课件教学教程整本书电子教案全书教案.ppt
- 身份证算法规范.doc
- 2023年融合教育知识网络竞赛随机卷份有答案.doc
- 基于51单片机的指纹密码锁设计.doc
- 某县智慧城市PPP项目招标文件.docx
- 基于工业大数据技术基础的智能工厂方案规划.ppt
- 杰科高品质网络蓝光DVD播放器使用秘笈(最新整理).pdf
- 基于单片机的测速仪设计.docx
- 人工蜂群算法详解ppt课件.ppt
- 探析匿名通信技术在电子商务中的应用.docx
- 基于JNI调用第三方动态库生成两个so文件
- 美的制冷闭环条码项目明细规划方案闭环条码网络建设项目工程验收报告.doc
- 五莲教育局学校教育信息化设备采购货物清单及实施方案要求.doc
- 基于AT89S51单片机的红外报警器的设计的课程设计.doc


