假设app2是由app1触发的,其中有类似于system("./app2")的东西。app1还会做很多准备工作,比如创建目录、文件、配置……用于app2运行。
如何从app2 ()的第一行开始运行gdb main?
如下所示,我尝试的方法不起作用。
gdb app2
b main
shell ./app1发布于 2017-09-05 11:21:42
system("./app2");
有几种方法可以实现这一点:
app1没有关闭stdin, stdout, stderr,您可以修改app1以执行此操作:``system(“gdb./app2”)app2以等待附加调试器,如this answer所示。然后运行app1,并从另一个窗口使用gdb -p $child_pid。app1在app2之前没有派生任何子级,您可以使用(gdb) set follow-fork child,并让GDB在app1派生app2之后自动开始调试它。<代码>H221<代码>G222https://stackoverflow.com/questions/46046194
复制相似问题