2
我想將gdb附加到一個進程,在該進程中,我無法輕鬆控制進程的啓動,因爲它是從inetd運行的,並且進程完成得太快而無法啓動一旦啓動就附加到它。暫停進程以允許調試器附加時間
我想要做的是在我想開始調試的特定點插入一些代碼。該代碼將理想地等待調試器附加並繼續。我嘗試過睡覺,但選擇延遲時間足夠長以至於我有時間趕上它,但時間足夠短,不會在等待gdb連接後等待它的滋擾。
有沒有更好的代碼插入或調用此選項?
我想將gdb附加到一個進程,在該進程中,我無法輕鬆控制進程的啓動,因爲它是從inetd運行的,並且進程完成得太快而無法啓動一旦啓動就附加到它。暫停進程以允許調試器附加時間
我想要做的是在我想開始調試的特定點插入一些代碼。該代碼將理想地等待調試器附加並繼續。我嘗試過睡覺,但選擇延遲時間足夠長以至於我有時間趕上它,但時間足夠短,不會在等待gdb連接後等待它的滋擾。
有沒有更好的代碼插入或調用此選項?
我想要做的是在我想開始調試的特定點插入一些代碼。
我通常不喜歡這樣:
volatile int done = 0;
while (!done) sleep(1);
連接GDB(你會在裏面sleep
)。執行finish
,然後set var done = 1
,並享受其餘的調試會話;-)
您還可以'設置follow-fork-mode child'來調試新的子進程。 – ks1322