gdb 调试多线程
如果目标进程已经core dump了,那么 gdb -c core xxx   xxx是对应的程序文件。
如果目标进程还在运行,通常此时用于调试线程死锁的情况。有两种方法
一是 gdb -p xxx  xxx是该进程的进程ID
或者用gcore xxx先获取对应进程的core,他会生成一个core文件 core.xxx
 
进入gdb后
(gdb) info threads
可以列出所有的线程,缺省设为当前的线程前面有一个*号
比如
gdb) info thread
    9 system thread 154262  Priority:154  0xc00000000042f670:0 in __ksleep
   +0x30 () from /usr/lib/hpux64/libc.so.1
    4 system thread 153674  Priority:168  0xc0000000004367d0:0 in _nanosleep2_sys+0x30 () from /usr/lib/hpux64/libc.so.1
    3 system thread 153673  Priority:168  0xc0000000004367d0:0 in _nanosleep2_sys+0x30 () from /usr/lib/hpux64/libc.so.1
    2 system thread 153672  Priority:154  0xc00000000042f670:0 in __ksleep
   +0x30 () from /usr/lib/hpux64/libc.so.1
*   1 system thread 153671  Priority:154  0xc000000000432ef0:0 in _read_sys
   +0x30 () from /usr/lib/hpux64/libc.so.1
 
这是1个死锁的例子,可以看到线程9 和线程2都停在 __ksleep上。
如果想看各个线程的详细堆栈信息,比如要看9的
gdb)thread 9
把当前线程设成9,然后就可以查看相关信息
比如
gdb)bt
将列出栈的调用情况,以及对应源代码中的位置,此时谨慎察看对应代码,一般必有结果
http://blog.sina.com.cn/s/blog_62dc94eb0100flyn.html

gdb 调试多线程 神贴相关推荐

  1. C语言gdb调试之精髓 | gdb调试多线程

    C语言gdb调试之精髓(常用命令.多进程.多线程.程序日志) 起语: 版权声明: C语言技术网原创文章,转载请说明文章的来源.作者和原文的链接. 来源:C语言技术网(www.freecplus.net ...

  2. GDB调试多线程程序

    (1)gdb ./program运行程序 (2)程序挂掉 (3)info thread查看程序挂掉瞬间所有运行线程执行到的位置: 此时,可以粗略看到哪些线程执行出现了问题(线程号前面带*的表示当前线程 ...

  3. gdb调试: 多线程-宏-条件断点

    GDB中应该知道的几个调试方法 七.八年前写过一篇<用GDB调试程序>,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题.这么 ...

  4. 使用gdb调试多进程和多线程

    GDB调试多进程 1. 默认设置下,在调试多进程程序时GDB只会调试主进程.但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序.只需要设置follow-f ...

  5. [Linux]gdb调试多进程多线程例程

    gdb相信学linux的同学已经比较熟悉了吧,它是linux下代码调试工具.我们在写c语言,c++的代码时经常会用到,它有一些常用的调试命令: run(r):运行程序,如果有断点在下一个断点处停止 s ...

  6. Linux gdb调试(4):多进程与多线程调试

    一,gdb的基础知识 1>介绍: gdb是Linux环境下的代码调试工具. 2>使用:需要在源代码生成的时候加上 -g 选项. 3>开始使用: gdb binFile 4>退出 ...

  7. g-gdb 调试多线程

    代码调试工具gdb是一个能够让我们在工作中高效排查代码异常根源的利器. 在此将gdb针对多线程的调试方式做一个笔记,也方便后续回顾以及分享大家. 本文采用的是一个简单的多线程代码示例,同时调试是在ma ...

  8. 用 GDB 调试Linux程序及有用技巧

    用 GDB 调试Linux程序及有用技巧(转) armlinux   2008-06-19 10:48   阅读91   评论0 字号: 大大  中中  小小 GNU的调试器称为gdb,该程序是一个交 ...

  9. 使用“/proc”系统调试多线程程序挂死的问题:

    问题描述:线程retint_careful问题:GDB调试卡主卡死挂住:pstack指令卡死卡主挂住: 1. GDB调试多线程 # gdb GNU gdb (GDB) Red Hat Enterpri ...

最新文章

  1. 用Spark实现简单的单词统计
  2. MYSQL基础----集合函数(count,sun,avg,max,min)
  3. linux的“自动化”
  4. 【机器学习】传统目标检测算法之HOG
  5. 为啥你用@JsonFormat注解反序列化LocalDateTime总失败?
  6. node+mongodb+win7
  7. python处理表格数据教程_python利用Excel读取和存储测试数据完成接口自动化教程...
  8. web前端入门到实战:CSS3两大实用属性,以及网页制作技巧
  9. Glad You Came--带条件的线段树区间更新,区间查询(其实是单点查询)
  10. JAVA毕业设计Web企业差旅在线管理系统计算机源码+lw文档+系统+调试部署+数据库
  11. reset()方法 submit()方法
  12. 华为OD机考分享精华帖
  13. 阿里云使用经验分享——小投入大收益
  14. Pandas-csv格式转tsv格式
  15. 法兰克机器人外部自动_(完整版)KUKA机器人外部自动配置方法
  16. 让整个页面从iframe中跳出来
  17. kali 2022.2 安装GVM
  18. 在线PS入门教程:如何对人像快速抠图
  19. 云南大学信息学院c语言实验十,云南大学软件学院JAVA实验十
  20. 2020.10.29--AI--3D字体海报设计平面设计、扭曲变换花朵制作、混合工具毛绒爱心制作

热门文章

  1. 印度加速量子计算布局,推出国内首个量子计算机模拟器工具包
  2. mfcclub android.zip,安卓解压神器RAR for Android Premium v5.30 build 36 Final Proper完美版
  3. 成都程序员双色球中2682万!号码是电脑算出来的?
  4. 测量学(四)测量点制图转CAD格式之注记转换
  5. linux常见的虚拟化技术
  6. 突然奇想-技术与业务
  7. 又该订报刊杂志了,你想定什么呢?
  8. DNSPod域名解析教程(图)
  9. B2B2C多用户商城系统亮点
  10. CE修改植物大战僵尸-关卡基址(小宇特详解)