我想知道的是,如果有可能,在Linux的调试会话中,(读取:gdb :))停止执行单个线程,让其他线程继续运行。
如果有人想知道为什么继续阅读: 我写了一个软件看门狗C ++类(使用Qt)。我用一个简单的多线程程序测试它,但是我想在将代码集成到实际应用程序中之后测试代码。如果我可以从调试器中停止一个线程,那将简化此测试阶段。 :)
干杯 塞尔吉奥
答案 0 :(得分:3)
在运行或附加到程序之前使用以下命令序列:
启用异步接口:
设置target-async 1
如果使用CLI,分页会不间断地打破:
设置分页
将其打开:
使用这些命令来操作不间断模式设置:
启用不间断模式选择:
禁用不间断模式选择:
设置不间断
显示当前的不停止启用设置:
显示不间断
参考文献:
http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode
答案 1 :(得分:0)
您可以使用totalview调试器来执行此操作
答案 2 :(得分:0)
如果这个小变化没问题,你可以给线程发送一个STOP信号(不是gdb命令gdb - 变量)并调试其他所有运行的信号。信号CONT让线程继续。