app2由app1触发,其中有类似system(" ./ app2")。 app1还做了很多准备工作,例如为app2运行创建目录,文件,配置......
我如何从main()的第一行gdb app2?
我在下面尝试的内容并不起作用。
gdb app2
b main
shell ./app1
答案 0 :(得分:0)
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
并让app2
分发后让GDB自动开始调试app1