gdb 反向调试
注意 调试 gcc g++ 程序时
必须 加上 -g 参数
-g 可以为执行性文件 生成 变量表 以及
取消 一些优化 使得 执行文件 严格按照 源程序 进行执行
示例
gcc -g debugPrint.c -o debugPrint
限制 gdb > 7.1.0
先 start 文件在进行 记录设置
gdb
file debugPrint
start
/// **** 进行 状态记录设置
target record-full
之后就可以 使用
reverse-next 简写 rn
reverse-step 简写 rs
reverse-nexti 简写 rni
reverse-stepi 简写 rsi
来进行反向调试了
常用的几个小命令
i locals [可选:满足的正则] 查看定义的变量
i funtions [可选:满足的正则] 查看定义的函数
bt 查看函数调用栈
set env 设置环境变量
//设置动态库的加载目录
set env LD_LIBRARY_PATH=/.../LIB_path
frame n 切断到调用堆栈的 第 n 层
up 1 向上1层
down 1 向下1层
where 显示当前执行到了那里