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