2017-09-05 33 views
1

提供的app2由app1觸發,其中有類似system(「./app2」)的內容。 app1還做了很多準備工作,比如爲app2運行創建dirs,文件,配置等。如何從app1觸發的app2的main()中調用gdb?

我該如何從它的main()的第一行gdb app2?

我在下面嘗試的是行不通的。

gdb app2 
    b main 
    shell ./app1 

回答

0

system("./app2");

有實現這幾個方面:

  1. 如果app1不關閉stdin, stdout, stderr,你可以修改app1要做到這一點,而不是:`系統(「gdb ./app2」)
  2. 您可以修改app2等待供調試器附加,例如, this answer顯示。然後運行app1,並從另一個窗口使用gdb -p $child_pid
  3. 如果app1不前app2叉任何孩子,你可以使用(gdb) set follow-fork child,並有自動GDB調試開始後app2app1它。
相關問題