linux多线程程序怎么调试?

a7224492 2015-04-23 08:41:40
我编写的多线程程序出问题了,不知道该怎么调试比较好
...全文
525 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdblns 2015-05-16
  • 打赏
  • 举报
回复
gdb上的可以设置单线程执行 先用info thread选中你要调试的线程,然后thread num 切换到你要调试的线程 锁定其他线程 set scheduler-lock on ~注意有没有- 然后就可以一步一步的执行,在这个过程中还可以用thread num切换到其他线程 这样仅仅是执行当前的线程
yangxingmeng 2015-05-09
  • 打赏
  • 举报
回复
在gdb模式下调试,info threads 命令打印是所有的threads信息,然后选择一个thread调试,命令thread 1
RedWolf1999 2015-04-29
  • 打赏
  • 举报
回复
如果是崩溃类问题,使用gdb;如果是运行异常类问题,建议多加打印;如果是内存泄露类问题,使用内存工具如valgrind。
Fire_Xg 2015-04-29
  • 打赏
  • 举报
回复
prinft打发
菜鸟莫慌 2015-04-28
  • 打赏
  • 举报
回复
多输出一些调试信息,用gdb调试也行。
anna08429 2015-04-27
  • 打赏
  • 举报
回复
打印线程id,这个挺有效的。在排除了单线程运行没问题的情况下,多线程的问题还是有一些需要重点review,反复check的地方:比如线程间死锁,共享变量,一个线程的计算结果是否会影响另一个线程的执行。。。等等
csdn_vieri 2015-04-24
  • 打赏
  • 举报
回复
把代码逻辑中的数据的值打出来,如果有异常的数据,应该很容易就能定位到问题。 或者gdb attach到正在运行的进程里,打印一下所有线程栈的数据。
FightForProgrammer 2015-04-24
  • 打赏
  • 举报
回复
把线程id以及它的信息打印出来。。
就想叫yoko 2015-04-23
  • 打赏
  • 举报
回复
日志好调点。。 我都不怎么用调试

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧