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 显示当前执行到了那里