2009-11-05 241 views
0

这可能是一个真正的问题,但我在这里问,因为当我在面试中被问到这个问题时,我没有任何线索。使用gdb/dbx调试线程进程

我们如何调试由另一个线程创建的线程? 假设有一个主进程,它调用函数pthread_create来创建一个不可连接的线程进程,这意味着主进程和新创建的线程进程都将执行自己的任务,如果我们开始调试程序我们可以导航到创建的线程吗?

在此先感谢。

回答

3

您可以将gdb附加到整个过程,然后使用gdb的thread ops在线程之间导航。当pthread_create你要调试的线程时,它可能有助于打印线程ID。

+0

+1。我可能会很懒,只是在设置进程运行之前在线程的入口点设置一个断点。我想这种方法只有在你已经对线程中问题出现的位置有所了解时才有用。 – 2009-11-05 04:52:34