GDB基礎命令

2021-08-20 19:30:17 字數 739 閱讀 7528

gdb是c++的除錯工具,編譯的時候加上-g選項即可。簡單方便,可以一步一步進行除錯。

1. b + 函式名或者檔案:行數。設定斷點,執行的時候可以在斷點處卡住。

2. start:卡在main函式第一行,只載入動態,靜態庫等預處理程式。不執行。

2.1:有些動態庫的函式一開始沒有被載入進來。必須使用這個命令才能把動態庫的函式也載入進來。

2.2:有些程式執行需要帶引數。可以 start後跟引數即可。

3. run:直接開跑。

4. set args:設定執行引數。就是./main 1 2 3,後面的1 2 3

5. c: 跳到第乙個被設定的斷點處。

6. i locals : 檢視所有當前函式的臨時變數。

7. i threads : 檢視程序的所有執行緒。

8. p + 變數 : 檢視當前變數,可執行簡單的->, *, 加減乘除等操作。

9. l : 檢視附近**。

11. s:跳到執行到的當前函式裡面。

12. bt:檢視函式棧。(重要)

13. t + 執行緒號,進入某個執行緒。

14. up : 向棧頂移動。

15.down:向棧底移動。

16.attach + 程序號,進入死迴圈了的程序。然後配合 i threads,t + thread id等命令使用。

17.i register 檢視暫存器內的值。其中每層函式棧都不同。

18. dess+table 可以看到彙編**。

GDB安裝以及基礎命令

apt get install gdbgdb啟動方式readelf h檢視檔案頭 其中的entry point address為程式起始位址1.基於原始碼的除錯 基礎知識 基礎指令 條件斷點 若在for中迴圈100次,需要在第50次迴圈停下來 b 行號 if i 50 多程序follow fork ...

GDB除錯基礎

breakpoint 2,func n 250 at tst.c 5 5 int sum 0,i gdb n 6 for i 1 i n i gdb p i 列印變數i的值,print命令簡寫。1 134513808 gdb n 8 sum i gdb bt 檢視函式堆疊。0 func n 250 ...

GDB基礎用法

gdb gnu debugger 是gcc的除錯工具。其功能強大,現描述如下 gdb主要幫忙你完成下面四個方面的功能 1.啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。2.可讓被除錯的程式在你所指定的調置的斷點處停住。斷點可以是條件表示式 3.當程式被停住時,可以檢查此時你的程式中所發生...