我正在使用多线程应用程序,10次中有9次,断点处理工作正常,但有时我得到SIGCHLD事件而不是SIGTRAP。
这是序列:
我应该怎么做这个SIGCHILD?忽略它会使调试器永远停留在以下waitpids中。使用带有PTRACE_SINGLESTEP的PTRACE_CONT螺钉将其注入debugee。
似乎它只发生在主线程(PID == TID)上,而不是发生在子线程(又称LWP)上。
我在虚拟框中使用UBUNTU 12.04 64位。
答案 0 :(得分:1)
将带有PTRACE_SINGLESTEP(数据参数)的SIGCHLD注入debugee似乎是诀窍。