天天看点

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

继续阅读