是否可以基于每个线程禁用gdb断点?
我有一个断点,它在后台工作线程中每100毫秒触发一次。但我需要在任何其他线程中调试相同的位置。因此,仅在后台工作线程中禁用断点会很酷。有可能吗?
当我知道线程的编号时,我可以通过在此断点中添加一些特制的条件来禁用线程吗?
答案 0 :(得分:4)
Gdb提供了两个便利变量$_thread
和$_gthread
(后者非常新),可以在条件中用于引用当前线程。
因此,一旦工作线程启动,您可以使用info thread
查找其编号。然后你可以改变你的断点(假设这个例子是断点2),如:
(gdb) cond 2 $_thread != 57