前提:廢話不多講,無法跟蹤進入除錯,講得再多也是廢話。
如何進入除錯?
1.編譯加上 -g 選項
2.執行 gdb a.out (注意:a.out一定要存在,或者是指定路徑,這樣gdb才能匯入並進行詳細分析)
3.檢視原始檔並設定斷點(設定斷點可以設定函式斷點,比如 b myfuncname)
4.執行,run arguments (需要加上a.out的引數)
1.編譯注意需要加上 -g 選項
gcc -g -o test test.c
2.啟動gdb
gdb test
3.列出原始碼
list
4.設定斷點
break
break funcname [if n > 5]
5.執行test
run [argvs] //攜帶程式執行所需的引數
6.列印變數值及堆疊位址
p ibt7.列印棧中的內容
frame
8.到達斷點之後,執行的自己命令
commands
set variable n=n+1;
printf "n is %d\n",n
end9.檢視各種命令
info break
info display
info arg
10.控制除錯命令
disable
delete
clear
11.gdb其它命令
info frame
info source
show language
set language
其它詳細命令請參見文件:
Linux除錯工具strace和gdb常用命令小結
linux除錯工具strace和gdb常用命令小結 strace和gdb是linux環境下的兩個常用除錯工具,這裡是個人在使用過程中對這兩個工具常用引數的總結,留作日後檢視使用。strace除錯工具 strace工具用於跟蹤程序執行時的系統呼叫和所接收的訊號,包括引數 返回值 執行時間。在linux...
Linux下除錯工具gdb的使用方法
linux中除錯工具gdb的使用 1.進入gdb模式 1 直接使用shell命令gdb gdb。2 以乙個可執行程式作為gdb的引數。eg gdb prgm 這裡是要除錯的可執行檔名 3 同時以可執行程式和core檔案作為gdb的引數。eg gdb prgm core 其中core檔案是直接執行pr...
linux除錯工具GDB
gdb偵錯程式除錯的物件是可執行檔案,使用gcc或者g 編譯器編譯源 時,必須加上 g才能使目標可執行檔案包含可被除錯的資訊。比如 gcc g o helloworld helloworld.c 編譯並連線程式,使之包含可被除錯資訊 gdb helloworld 使用gdb偵錯程式開啟hellowo...