進入除錯:
(1)輸入gdb 《檔名》
(2)輸入gdb ----> file 《檔名》
l:顯示源**(預設顯示main函式所在檔案的源**)
list 《檔名》:num 顯示指定檔案指定行附近的源**
b:breakpoint的簡寫,設定斷點。
b 《行號》 給指定行新增斷點
b 《函式名》 給指定函式新增斷點
b 《檔名 行號》 給指定檔案指定行新增斷點
b 《行號 條件》 新增乙個條件斷點
info b:顯示斷點資訊
d bpnum:刪除斷點 (bpnum:斷點號)
disable bpnum:將斷點設定為無效
enable bpnum:將斷點設定為有效的
執行過程控制:
r:啟動除錯,run的簡寫,執行被除錯的程式。(gdb) r
如果此前沒有下過斷點,則執行完整個程式;如果有斷點,則程式暫停在第乙個可用斷點處。
ns:進入函式中執行
finish:退出函式執行
cq:退出除錯
檢視變數:
p《變數名稱》 ---> print的簡寫,顯示指定變數(臨時變數或全域性變數)的值。
p valname :變數的值
p arr :顯示陣列所有的元素
p *ptrarr@num :通過指向陣列的指標顯示陣列所有元素
p struct_val : 顯示結構體變數中所有的成員值
p struct_val. : 顯示結構體變數中某個成員的值
p ptr_struct->a :通過指標顯示結構體變數某個成員的值
p funactionname(a,b) :將函式測試執行
bt:顯示函式呼叫棧 函式呼叫流程
Linux gdb除錯總結
在windows作業系統下,我們的執行程式有兩個版本。debug開發除錯版本 得到的可執行檔案.exe檔案相對較大,其中包含除錯資訊。且不做任何優化,未開發人員提供強大的應用除錯能力 release發行版本 檔案相對較小,不包含除錯資訊,並進行了各種優化,以期達到 最小和速度最優。為使用者的使用提供...
linux gdb除錯彙編
1 除錯hello,要求編譯時指定了 gstabs選項 2 執行hello deepfuture lx deepfuture lx desktop private mytest hello hello,world abcd 3 用gdb開啟hello deepfuture lx deepfuture...
Linux gdb 除錯模式
linux gdb 除錯 編譯除錯版本的檔案 include g 啟動gdb除錯 若有main 有設定引數則可以在gdb下設定傳遞引數 set args gdb一些命令 1.run 執行整個程式 2.start 開始除錯 3.next n 逐條語句執行 4.step 逐條語句執行,並且嘗試進入函式內...