当debuger接收到SIGTRAP时,如何获得刚刚达到断点的线程?

时间:2017-06-16 06:31:20

标签: c++ multithreading debugging

我没有使用gdb,我正在linux上开发像gdb这样的debuger。

我可以在调试器过程中收到SIGTRAP,但我不知道如何在目标进程中获得正确的线程来打破断点。

首先我想我应该使用ptrace(PTRACE_GETSIGINFO,...)来获取siginfo_t,但siginfo_t中似乎没有属性可以告诉我线程ID。

然后我想也许我可以从信号中得到一些东西,并在调试器中匹配断点信息,所以我下载了gdb源代码(7.10),但是OMG它太大了,我无法得到相关职能。

所以我现在在这里,有人可以帮助我吗?

0 个答案:

没有答案