天天看點

gdb_調試C/C++

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
           
gdb

繼續閱讀