gdb多執行緒多程序除錯命令

肆空界發表於2024-10-11

多執行緒

info threads 檢視當前所有執行執行緒的列表

thread 執行緒編號 切換到特定執行緒進行除錯

set scheduler-locking on 只執行當前執行緒,停止其他執行緒進行除錯

多程序

info inferions顯示所有正在除錯的程序

inferion 程序編號 切換到特定程序執行,同時掛起其他程序

detach-on-fork:該屬性決定了gdb是同時除錯子程序,還是在fork了子程序之後,將子程序分離出去。

on:只除錯子程序或父程序,取決於follow-fork-mode的值

off:同時除錯父子程序,一個被除錯時,另一個被掛起。

set follow-fork-mode child/parent:決定了GDB在程序呼叫fork後的行為,預設情況下,呼叫fork後,gdb選擇跟隨父程序,而子程序處於執行狀態(此時父程序處於阻塞狀態)

如set follow-fork-mode child:fork之後,gdb選擇除錯子程序,而父程序處於執行狀態。

相關文章