gdb偵錯程式除錯的物件是可執行檔案,使用gcc或者g++編譯器編譯源**時,必須加上-g才能使目標可執行檔案包含可被除錯的資訊。比如:
gcc -g
-o helloworld helloworld.c //編譯並連線程式,使之包含可被除錯資訊
gdb helloworld //使用gdb偵錯程式開啟helloworld可執行檔案
常用gdb命令及解釋
命令解釋
file《檔名》
在gdb中開啟執行檔案
break
設定斷點:break 行號,break 函式名稱
info
檢視和可執行程式相關的各種資訊
kill
終止正在除錯的程式
顯示變數或表示式的值
set args
設定除錯程式的執行引數
delete
刪除設定的某個斷點或觀測點,與break操作相似
clear
刪除設定在指定行號或函式上的斷點
continue
從斷點處繼續執行程式
list
列出gdb中開啟的可執行檔案**
watch
在程式中設定觀測點
run執行開啟的可執行檔案
next
單步執行程式
step
進入所呼叫的函式內部,檢視執**況
whatis
檢視變數或函式型別,呼叫格式為whatis 變數名/函式名
ptype
顯示資料結構定義情況
make
編譯程式
quit
退出gdb
除錯工具 gdb
gcc o a.out a.c gdb q a.out break main info register i r objdump d a.out grep a20 main.轉換為機器 objdump m intel d a.out grep a20 main.gdb 設定 1 gdb q 2 se...
gdb除錯工具
檢視幫助一是man 命令,二是進入 www.gnu.org 找到gdb的幫助文件 更詳細 gcc wall g main.c o main,只有這樣才能產生除錯資訊,包括core的除錯資訊。一 常用命令 run r 執行,執行到斷點,重新用r,表示重新開始執行。list l 列出源 l 2,l ma...
GDB除錯工具
mascot 射水魚 gdb官網 gdb適用的程式語言 ada c c objective c pascal 等。gdb的工作方式 本地除錯和遠端除錯。目前release的最新版本為8.0,gdb可以執行在linux 和windows 作業系統上。1.1 what is gdb?1 gdb gnud...