1. 程式人生 > >GDB調試命令總結

GDB調試命令總結

func 數據 step 堆棧 位置 tac left table gdb

GDB的功能

1.啟動被調試程序

2.讓被調試的程序在指定位置停住

3.當程序停住的時候,可以檢查程序狀態,變量值

用法:

gcc -g test.c -o test

gdb

命令:

  • 查看源代碼

list/l 空 or 行號 or 函數名

  • 直接enter,重復執行上一命令
  • run/r 運行至下一個斷點停下來 or 如果沒有斷點,直接運行結束
  • start 運行進入主函數(main())停下來
  • .斷點

    1) 設置斷點

   break/b----行號 or 函數名 [if condition 命中條件]

    2) info break/b 查看斷點信息

    3) 調試

  next/n 單步執行,不進入函數

  step/s 單步執行,進入函數

  • continue/c 繼續執行,在下一斷點處停下
  • finish 結束當前函數的運行
  • 清除斷點

    清除所有斷點 clear

    清除某個模塊的斷點 clear filename

    清除某個函數中的斷點 clear function

    清除某行斷點 clear 行號

    delete 斷點編號

  • disable 斷點編號 使某個斷點失效
  • enable 斷點編號 使某個斷點有效
  • display 表達式 每當程序運行至斷點都會顯示
  • watch 表達式 設置觀察點
  • whatis 表達式 顯示某個表達式的數據類型

  • 查看變量 or表達式的值

    print/p 表達式 顯示某個表達式的值

    p *[email protected] 顯示一個動態數組array

    輸出格式:p/x i

x

16進制

d

10進制

u

無符號19進制

o

8進制

t

2進制

a

16進制

c

字符表示

f

浮點表示

  • 堆棧相關命令

backtrace/bt 查看堆棧情況

info register 查看寄存器(除了浮點寄存器)

info all register 查看所有的寄存器

info stack 查看堆棧使用情況

info args 查看函數的參數以及其值

info locals 查看函數的所有局部變量

info catch 查看函數拋出的異常

  • 調試運行環境相關命令

set args arg1 arg2 設置運行參數

show args 顯示運行參數

set width num 設置GDB顯示行寬

return <返回值> 改變程序流程,直接結束當前函數並指定值返回

GDB調試命令總結