gdb 使用技巧(偏C++)
1. gdb内置了打印c++数组的操作,
如果 a 为数组指针, 大小为 10
则
p *a@10
或者
p (int [10])*a
其中第2种,大小指定只能是常数,使用 b.length+1 这种表达式就不可以,第1中可以在 @ 符号后面跟上表达式
如果需要打印 STL 提供的容器,推荐别人使用的脚本,拷贝到自己主目录下的 .gdbinit 文件里即可。脚本在这个 gdb turtorial 最后有提到,这个 tutorial 也写得很好,我平常都当做速查手册来用。
2. gdb环境下重新编译装载
类似于 vim,输入 shell 命令可以暂时退出gdb,然后 make 编译程序,随后用 exit 可以退回到 gdb 环境里。