GDB調試之多線程


1、set scheduler-locking off/on/step

調試時除了當前線程在運行,要想規定其他線程的運行情況用這個命令,有三個選擇:

  1. set scheduler-locking off:不鎖定任何線程,所有線程都可以繼續執行,這是默認選項。
  2. set scheduler-locking on:只有當前線程可以執行,其他線程暫停運行。
  3. set scheduler-locking step: 當單步執行某一線程時,其它線程不會執行,同時保證在調試過程中當前線程不會發生改變。但如果該模式下執行 continue、until、finish 命令,則其它線程也會執行,並且如果某一線程執行過程遇到斷點,則 GDB 調試器會將該線程作為當前線程。

NOTE:只有線程創建之后這個命令的暫停效果才有效,比如set scheduler-locking on開啟之后,但pthread_create語句還沒執行,這時執行continue后邊創造的線程不會被暫停,必須等線程創造后再執行coneinue

2、info threads

顯示當前有幾個線程,前邊有線程ID。

3、thread ID

切換線程,ID為info threads前邊顯示的ID。

4、break xxx thread ID

為某個線程設置斷點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM