1
提供的app2由app1觸發,其中有類似system(「./app2」)的內容。 app1還做了很多準備工作,比如爲app2運行創建dirs,文件,配置等。如何從app1觸發的app2的main()中調用gdb?
我該如何從它的main()的第一行gdb app2?
我在下面嘗試的是行不通的。
gdb app2
b main
shell ./app1
提供的app2由app1觸發,其中有類似system(「./app2」)的內容。 app1還做了很多準備工作,比如爲app2運行創建dirs,文件,配置等。如何從app1觸發的app2的main()中調用gdb?
我該如何從它的main()的第一行gdb app2?
我在下面嘗試的是行不通的。
gdb app2
b main
shell ./app1
system("./app2");
有實現這幾個方面:
app1
不關閉stdin, stdout, stderr
,你可以修改app1
要做到這一點,而不是:`系統(「gdb ./app2」)app2
至等待供調試器附加,例如, this answer顯示。然後運行app1
,並從另一個窗口使用gdb -p $child_pid
。app1
不前app2
叉任何孩子,你可以使用(gdb) set follow-fork child
,並有自動GDB調試開始後app2
叉app1
它。