gdb_除錯C/C++
阿新 • • 發佈:2018-11-09
1.啟動程序並除錯:
#去廣告
$gdb -q 可執行檔案
#1.設定引數
$gdb 可執行檔案
$run arg1 arg2
$------------------------------
$gdb --args 可執行檔案 arg1 arg2
#2.檢視多執行緒
$info threads
#3.檢視某執行緒
$thread 執行緒number
2.跟蹤已啟動的程序:
$gdb 可執行檔案 程序ID
3.除錯core檔案:
#許可core檔案生成
$ulimit -c unlimited
$gdb 可執行檔案 core檔案
#檢視呼叫堆疊
$bt
4.斷點:
#打斷點: $b 函式名 $b 檔名:行數 #條件斷點: $b 檔名:行數 if 條件 #檢視斷點: $info b #刪除斷點: $del 斷點number
5.開始程式:
$r
6.檢視變數:
$p 變數
$p *(指標型別 *)指標變數
#1.檢視變數型別
$ptype 變數
$p {type} 變數/指標/地址
#2.檢視區域性變數
$info locals
7.跳出函式:
$f
8.跳出迴圈:
$u 行號
9.單步除錯:
#單步除錯,跳進函式
$s
#單步除錯,跳出函式
$n
10.檢視原始檔:
#當前執行程式碼行
$l
#下一段程式碼行
$l +
#上一段程式碼行
$l -
#顯示當前檔案行數
$l start行號, end行號
11.除錯時顯示程式碼:
#解決問題Error opening terminal: xterm. $ export TERM=vt100 $ export TERMINFO=/usr/share/terminfo
12.調整tui視窗:
#顯示原始碼視窗
$layout src
#顯示彙編視窗
$layout asm
#顯示原始碼和彙編視窗
$layout split
#顯示暫存器視窗
$layout regs
#暫存器視窗顯示內容為浮點暫存器
$tuireg float
#存器視窗顯示內容為普通暫存器
$tuireg general