gdb_调试C/C++

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/du1055669885/article/details/83340031

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

猜你喜欢

转载自blog.csdn.net/du1055669885/article/details/83340031