GDB知識點

基本操作

生成包含調試信息的可執行文件

gcc -g test.c -o test

進入gdb調試

gdb test

查看所載入的文件

(gdb) l

設置斷點

在程序第六行設置斷點(breakpoint)

(gdb) b 6

查看斷點

(gdb) info b

運行程序

(gdb) r

查看棧信息

(gdb) bt

查看變量值

variable爲變量名稱

(gdb) p variable

單步運行

單步運行有兩種,”n“(next)和”s"(step),“s“可以調試程序直接進入調用函數,而”n"不行。

(gdb) n

or

(gdb) s

恢復程序運行

(gdb) c

工作環境相關命令

gdb工作環境相關命令

命令格式 含義
set args運行時的參數 指定運行時參數,如 set args 2
show args 查看設置好的運行參數
Path dir 設定程序的運行路徑
show paths 查看程序的運行路徑
set environment var [=value] 設置環境變量
show environment [var] 查看環境變量
cd dir 進入dir目錄
Pwd 顯示當前目錄
shell command 運行shellcommand命令

設置斷點與恢復命令

gdb設置斷點與恢複相關命令

命令格式 含義
info b 查看所有斷點
break[文件名:]行號或函數名<條件表達式> 設置斷點
tbreak[文件名:]行號或函數名<條件表達式> 設置臨時斷點,到達後自動刪除
delete[斷點號] 刪除指定斷點,其斷點號爲"info b"中的第一欄。若缺省斷點號默認刪除所有斷點。
disable[斷點號] 停止指定斷點,可以查看,功能與delete類似。
enable[斷點號] 激活斷點。
condition[斷點號]<條件表達式> 修改對應斷點的條件
ignore[斷點號] 忽略對應斷點num
Step 單步恢復程序運行,且進入函數調用
Next 單步恢復程序運行,但不進入函數調用
Finish 運行程序,直到當前函數完成返回
C 繼續執行函數,直到函數結束或遇到新的斷點

gdb中源碼查看相關命令

gdb中源碼查看相關命令

命 令 格 式 含義
list <行號> |<函數名> 查看指定位置代碼
file [文件名] 加載指定文件
forward-search 正則表達式 源代碼的前向搜索
reverse-search 正則表達式 源代碼的後向搜索
dir DIR 將路徑 DIR 添加到源文件搜索的路徑的開頭
show directories 顯示源文件的當前搜索路徑
info line 顯示加載到 gdb 內存中的代碼

gdb中查看運行數據相關命令

gdb 查看運行數據相關命令

命 令 格 式 含義
print 表達式 變量
x <n/f/u> 查看內存變量內容。其中 n 爲整數表示顯示內存的長度,f 表示顯示的格式,u 表示從當前地址往後請求顯示的字節數
display 表達式 設定在單步運行或其他情況中,自動顯示的對應表達式的內容
backtrace 查看當前棧的情況,即可以查到哪些被調用的函數尚未返回

gdb 中修改運行參數相關命令


參考:《嵌入式Linux應用程序開發標準教程》作者:華清遠見

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章