我正在使用GDB调试一个具有多个进程的程序。主程序启动了两个不同的过程。让我们将它们称为p1(启动并最终启动p2的进程)p2(启动并附加到的进程)
诀窍是,我需要连接到p2,并在其过程中的某个点处断开,只有在p1中的一个断开点之后。
所以本质上我发现自己在做:
gdb p1
(gdb) break foo
(gdb) attach <pid of p2>
(gdb) break bar
其中pid是通过运行
ps
问题是,当我连接到p2 p1时,它仍然断开。实际上,continue、attach和new断点都需要同时完成。我该怎么做?