1. 程式人生 > >gdb、gdbserver除錯程式碼

gdb、gdbserver除錯程式碼

一、使用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