GDB使用學習

2021-09-27 03:34:42 字數 1295 閱讀 1317

gcc -g -o test test.c // -g 引數使得在gdb中可以使用list命令檢視源**

list:檢視原**

start:單步執行,執行程式,停在第一執行語句

step:單步執行

print 變數名:顯示該變數的值

回車:重複上一條命令 //一般跟在step命令之後進行單步除錯

next:單步除錯 //當前line有函式呼叫的時候,n會直接執行到下一句 ,s會進入函式.

set:設定變數的值

x:x /nfu

說明

x 是 examine 的縮寫

n表示要顯示的記憶體單元的個數

f表示顯示方式, 可取如下值

x 按十六進製制格式顯示變數。

d 按十進位制格式顯示變數。

u 按十進位制格式顯示無符號整型。

o 按八進位制格式顯示變數。

t 按二進位制格式顯示變數。

a 按十六進製制格式顯示變數。

i 指令位址格式

c 按字元格式顯示變數。

f 按浮點數格式顯示變數。

u表示乙個位址單元的長度

b表示單位元組,

h表示雙位元組,

w表示四位元組,

g表示八字節。

watch命令:

什麼是watchpoint?

watchpoint,顧名思義,其一般用來觀察某個變數/記憶體位址的狀態(也可以是表示式),如可以監控該變數/記憶體值是否被程式讀/寫情況。
在gdb中可通過下面的幾種方法來設定watchpoint:

(gdb) watch  

在指定變數/記憶體位址(表示式)expr設定乙個watchpoint。一但expr值有變化時,將停住程式。

(gdb) rwatch

當expr被讀時,停住程式。

(gdb) awatch

當expr被讀或被寫時,停住程式。

(gdb) info watchpoints

列出當前所設定了的所有觀察點。

在使用watch時步驟如下:

1. 使用break在要觀察的變數所在處設定斷電;

2. 使用run執行,直到斷點;

3. 使用watch設定觀察點;

4. 使用continue觀察設定的觀察點是否有變化。

finish:執行到函式末尾

return:跳出當前函式(當前位置到函式的末尾不被執行)

gdb學習與使用

gdb基礎知識 1 gdb是the gnu project debugger 的縮寫,是linux下功能全面的除錯工具,gdn支援斷點 單步執行 列印變數 觀察變數 檢視暫存器 檢視堆疊等除錯手段,在linux環境軟體開發中,gdn是主要的程式除錯工具,主要用來除錯c和c 程式。2 gdb的常用命令...

GDB學習使用筆記

首先說明我使用的gdb版本及作業系統版本資訊如下 gdb是gnu 的原始碼偵錯程式。fred fish,原真主保佑他,關於他的生平可以在了解一下。這裡有gdb最新版的文件,可以參考!gdb簡介 偵錯程式 比如象gdb 能讓你觀察另乙個程式在執行時的內部活動,或程式出錯時發生了什麼。gdb主要能為你做...

gdb中文亂碼 GDB 使用gdb檢視記憶體

一 使用gdb檢視記憶體 命令 x nfu x 是 examine 的縮寫 n表示要顯示的記憶體單元的個數 f表示顯示方式 x 按十六進製制格式顯示變數 d 按十進位制格式顯示變數 u 按十進位制格式顯示無符號整型 o 按八進位制格式顯示變數 t 按二進位制格式顯示變數 a 按十六進製制格式顯示變數...