gdb cmd

来源:互联网 发布:编辑简谱的软件 编辑:程序博客网 时间:2024/06/10 20:04
GDB( gdb -tui)
b: break 设置断点,如b 12 :在当前代码12行设置断点, b a.c:12 在a.c 12行设置断点
clear,delete :删除端点 clear a.c:12, clear a.c, delete breakpoints 删除所有断点
hknarutgo
info b: info break 查看断点信息,列出所有断点
n: step over
s: step into
info source: 当前源码信息
l: list 100 当前文件第100行附近代码
p: print 打印变量
p/x: 16进制打印变量值
r: run
c: continue 允许到下一个断点
x:examine 打印内存信息,如 x /20 p: 默认16进制打印指针p指向的前20个字节
先执行 x/1c后执行  x /100cx addr  (原因不明。。。)
bt: Backtrace 查看当前调用栈

gdb 关于value optimized out
        gdb调试程序的时候打印变量值会出现<value optimized out> 情况,可以在gcc编译的时候加上 -O0参数项,意思是不进行编译优化,调试的时候就会顺畅了,运行流程不会跳来跳去的,发布项目的时候记得不要在使用 -O0参数项,gcc 默认编译或加上-O2优化编译会提高程序运行速度.
0 0