我想知道的是,如果可能的话,在Linux的调试会话中(读取:gdb :))停止执行单个线程,而让其他线程运行。在Linux中进行调试期间可以停止单个线程吗?
如果有人想知道为什么要继续阅读: 我写了一个软件看门狗C++类(使用Qt)。我用一个简单的多线程程序对它进行了测试,但是我想在将代码集成到实际应用程序中之后再测试代码。如果我可以停止调试器的线程,那将简化这个测试阶段。 :)
干杯 塞尔吉奥
我想知道的是,如果可能的话,在Linux的调试会话中(读取:gdb :))停止执行单个线程,而让其他线程运行。在Linux中进行调试期间可以停止单个线程吗?
如果有人想知道为什么要继续阅读: 我写了一个软件看门狗C++类(使用Qt)。我用一个简单的多线程程序对它进行了测试,但是我想在将代码集成到实际应用程序中之后再测试代码。如果我可以停止调试器的线程,那将简化这个测试阶段。 :)
干杯 塞尔吉奥
使用此命令序列运行或连接到您的程序之前:
启用异步接口:
设定的目标 - 异步1
如果使用CLI,分页不间断:
设置分页关闭
打开它:
设置马不停蹄的
使用这些命令来操纵不停模式设置:
启用不停模式选择:
设置不停机
禁止选择不停机模式:
组非下车
显示当前不停启用设置:
表明不停
参考文献:
http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode
您可以使用TotalView软件调试器来做到这一点
如果这种小的变化是好的,你可以发送一个STOP信号的线程(而不是gdb命令的gdb - 变体)并调试其他一切运行。信号CONT让线程继续。
**道歉**更准确的谷歌搜索让我找到这个链接:(http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode)似乎回答我的题。干杯 – sergico 2012-02-02 10:18:44
这是可以发布你的问题的答案。请做。 – 2012-02-02 10:40:11
[不停止gdb中的所有线程]的可能的重复(http://stackoverflow.com/questions/3666331/not-stopping-all-threads-in-gdb) – 2012-02-02 20:22:54