GDB提供的功能
1、啟動的程序,可以按照自定義的要求運行程序
2、可以讓被調試的程序在指定的斷點處停住(斷點可以是條件表達式)
3、當程序被停住時,可以檢查這個時候程序中發生的事
4、動態地改變程序的運行環境。
遠程(交叉)GDB調試
調試樁(調試代理):在目標機上駐留有一小段代碼。
調試樁作用:
1、在目標機上視線由主機上的調試器發送過來的調試命令。如:讀寫內存、讀寫寄存器、設置斷點以及運行被調試程序。
2、向主機調試器報告目標機上發生的異常事件。如:斷點命中、除0等程序錯誤。
典型交叉調試會話步驟
1、主機上的GDB調試器向調試樁發送一系列的內存寫命令,以便將即將被調試的應用程序從主機下載到目標機的內存中
2、GDB調試器向調試樁發出斷點設置命令,以便在應用程序合適的位置設置斷點。
3、當運行中的應用程序遇到斷點時,其執行路徑被中斷暫停,目標機的控制權重新回到調試樁手中。調試樁告知主機調試器,等待主機調試器發出的命令。主機通過發送調試命令來查詢或者修改目標機上的內存,讀寫目標機處理器寄存器。最后告知調試樁繼續執行應用程序。