Debugging 如何从app1触发的app2的main()中删除gdb?
提供的app2由app1触发,其中有类似系统(“./app2”)的内容。app1还做了很多准备工作,比如创建目录、文件、配置。。。对于正在运行的app2 如何从gdb app2的main()的第一行开始创建它 我下面尝试的方法不起作用Debugging 如何从app1触发的app2的main()中删除gdb?,debugging,gdb,Debugging,Gdb,提供的app2由app1触发,其中有类似系统(“./app2”)的内容。app1还做了很多准备工作,比如创建目录、文件、配置。。。对于正在运行的app2 如何从gdb app2的main()的第一行开始创建它 我下面尝试的方法不起作用 gdb app2 b main shell ./app1 系统(“/app2”) 有几种方法可以实现这一点: 如果app1没有关闭stdin、stdout、stderr,您可以修改app1来执行此操作:`system(“gdb./app2”) 您可以修改
gdb app2
b main
shell ./app1
系统(“/app2”)代码>
有几种方法可以实现这一点:
如果app1
没有关闭stdin、stdout、stderr
,您可以修改app1
来执行此操作:`system(“gdb./app2”)
您可以修改app2
以等待附加调试器,如图所示。然后运行app1
,并从另一个窗口使用gdb-p$child\u pid
如果app1
没有在app2
之前分叉任何子项,您可以使用(gdb)设置follow fork child
,并让gdb在app1
分叉之后自动启动调试app2
系统(“/app2”)代码>
有几种方法可以实现这一点:
如果app1
没有关闭stdin、stdout、stderr
,您可以修改app1
来执行此操作:`system(“gdb./app2”)
您可以修改app2
以等待附加调试器,如图所示。然后运行app1
,并从另一个窗口使用gdb-p$child\u pid
如果app1
没有在app2
之前分叉任何子项,您可以使用(gdb)设置follow fork child
,并让gdb在app1
分叉之后自动启动调试app2