1. 程式人生 > >gdb_除錯C/C++

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