36 lines
1.1 KiB
Plaintext
Raw Normal View History

2025-02-27 22:25:34 +08:00
gdb c/c++ 代码调试工具
使用 g++ -g 生成调试文件,不可以加 -O 选项
set [argc] # 传入参数
l n # 列出源码
r # 开始运行到第一个断点
b n # 在第n行打断点
break main if var_name > 10 # 满足条件时打断点
d n # 删除断点
c # 继续运行到下一个断点
s # 单步执行
si # 单步汇编
n # 单步执行,不进入函数
q # 退出
set var [] # 修改变量的值
set $rsp = 0x7ccccccc # 修改寄存器的值
p # 查看特定变量或表达式的值
bt # 查看函数调用栈
bt full # 详细信息
disassemble # 查看当前函数的汇编,可在后面加函数名看指定汇编
x/10gx $rsp # 查看内存中由$rsp开始的10个八字节数据 g:八字节 x:16进制
info locals # 查看局部变量
info registers # 查看寄存器状态
info program # 查看程序运行信息
info break # 查看断点信息
info threads # 查看所有线程
使用gdb调试core文件
使用ulimit -c unlimited 使挂掉的程序产生core文件
gdb ./a.out core
gdb demo -p [pid] # 调试运行中的程序