gdb、gdbserver除錯程式碼
阿新 • • 發佈:2019-01-03
一、使用gdb除錯
1.用gdb除錯程式碼前進行編譯時加引數-g
2.假設上步中編譯後的二進位制檔案問SS,在包含SS的路徑下執行gdb ./SS 若執行SS時需要帶引數,則為 gdb --args ./SS
3.在需要加斷點的地方打上斷點,eg: b main
4.執行 r
在除錯過程中,若是結構體,可使用set print pretty on 設定顯示結構體的格式。若資料過長,可設定set print elements 0顯示完整資料
若跳出該函式,執行finish
二、使用gdbserver遠端除錯
假設A(192.168.1.1)是編譯環境,B(192.168.1.2)是執行環境
1.在A上編譯SS檔案,編譯時需要加引數-g
2.將SS拷貝到B上
3.在B上執行 gdbserver 192.168.1.2:1234 ./SS 後面可加引數,執行前需要檢查iptables
4.在A上執行 gdb ./SS
target remote 192.168.1.2:1234
b main
c