# 加载程序

gdb [ programaName ] 直接加载程序开始逐步调试 gdb -p [ PID ] 通过PID加载正在运行的程序 gdb [ programaName ] [ programaCore ] 加载core文件进行分析

# 学习网址

https://cloud.tencent.com/developer/article/2222987

# 调用终端命令

gdb shell [ shell command ]

# 设置断点

gdb break [ function ] gdb break [ line ] gdb break [ file ] gdb break [ file : function ] gdb break [ line ] [ if 变量名 == 值 ] gdb disable [ breakpoint_ID ] 激活断点 gdb enable [ breakpoint_ID ] 禁用断点

# 删除断点

gdb del [ point ]

# 显示信息

gdb info

# 有关运行控制的

gdb run 开始调试 gdb start 运行到main停止 gdb continue 继续执行 gdb next 步过 gdb step 步入 gdb finish 跳出 gdb stop 停止 gdb until [ line ]运行到指定行

# 查看调用运行信息

gdb backtrace // 查看调用堆栈 gdb where // 查看当前断点位置 gdb ptype [ 变量名 ] // 查看变量的类型 可以看到类/结构体的成员 gdb whatis [ 变量名 ] // 查看变量的类型 只能看到变量类型

# 打印信息

gdb print [ 变量名 ] gdb print pre[0]@n // 打印数组前n个元素

# 监视变量

gdb rwatch [ 表达式 ] 当出现'读'的操作时显示变量 gdb awatch [ 表达式 ] 当出现'读写'的操作时显示变量 gdb watch [ 表达式 ] 值改变时显示变量 gdb delete [ watch_ID ] 删除watchpoint gdb display [ 表达式 ] 实时显示变量值 gdb undisplay [ display_ID ] 删除displaypoint

# 设置变量值

gdb set var [ 变量名 ] == [ 变量值 ]

# 查看源代码

gdb list [ function ] gdb list [ file ] gdb list [ file ] : [ function ] gdb list [ file ] : [ line ] gdb list [ function ] : [ line ]

# 开启日志功能

gdb set logging on

# 进入编辑模式

gdb edit

# 反汇编

gdb disassemble