我想知道的是,如果可能的話,在Linux的調試會話中(讀取:gdb :))停止執行單個線程,而讓其他線程運行。在Linux中進行調試期間可以停止單個線程嗎?
如果有人想知道爲什麼要繼續閱讀: 我寫了一個軟件看門狗C++類(使用Qt)。我用一個簡單的多線程程序對它進行了測試,但是我想在將代碼集成到實際應用程序中之後再測試代碼。如果我可以停止調試器的線程,那將簡化這個測試階段。 :)
乾杯 塞爾吉奧
我想知道的是,如果可能的話,在Linux的調試會話中(讀取:gdb :))停止執行單個線程,而讓其他線程運行。在Linux中進行調試期間可以停止單個線程嗎?
如果有人想知道爲什麼要繼續閱讀: 我寫了一個軟件看門狗C++類(使用Qt)。我用一個簡單的多線程程序對它進行了測試,但是我想在將代碼集成到實際應用程序中之後再測試代碼。如果我可以停止調試器的線程,那將簡化這個測試階段。 :)
乾杯 塞爾吉奧
使用此命令序列運行或連接到您的程序之前:
啓用異步接口:
設定的目標 - 異步1
如果使用CLI,分頁不間斷:
設置分頁關閉
打開它:
設置馬不停蹄的
使用這些命令來操縱不停模式設置:
啓用不停模式選擇:
設置不停機
禁止選擇不停機模式:
組非下車
顯示當前不停啓用設置:
表明不停
參考文獻:
http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode
您可以使用TotalView軟件調試器來做到這一點
如果這種小的變化是好的,你可以發送一個STOP信號的線程(而不是gdb命令的gdb - 變體)並調試其他一切運行。信號CONT讓線程繼續。
**道歉**更準確的谷歌搜索讓我找到這個鏈接:(http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode)似乎回答我的題。乾杯 – sergico 2012-02-02 10:18:44
這是可以發佈你的問題的答案。請做。 – 2012-02-02 10:40:11
[不停止gdb中的所有線程]的可能的重複(http://stackoverflow.com/questions/3666331/not-stopping-all-threads-in-gdb) – 2012-02-02 20:22:54