现在的位置: 首页 > 综合 > 正文

GDB符号调试器(一)

2018年05月19日 ⁄ 综合 ⁄ 共 741字 ⁄ 字号 评论关闭

GDB简单使用

 

编译程序时,使用gcc -ggdb3 -o test test.c可以最大限度的包含调试信息。

 

  • 调试程序

gdb test    然后会出现一串提示,无非就是写授权介绍类的.然后就是提示符

(gdb)

 

(gdb)run    设置断点后,输入run直接运行,并且在断点处停止

 

  • 设置断点 

(gdb)break main    在main函数出设置了断点

(gdb)break 行号     在某一行设置断点

  • 单步

(gdb)step 也可简写 s     遇到函数就会进入

(gdb)next 也可简写 n     遇到函数时不会进入

  • 显示命令

(gdb)print  要打印的值或表达式    直接打印某个变量的值或者表达式的值

(gdb)print 变量=表达式    还可以用于赋值

(gdb)print 开始表达式@连续打印空间的大小    还可以打印出内存的某个部分开始的连续值

 

(gdb)display 要显示的值或表达式    直接打印某个变量的值或者表达式的值

--------display命令会被gdb记忆,如果打印一个值,后续遇到该值均会被打印出来

 

 

(gdb)set 变量名=表达式    可以修改变量的值

  • continue命令

(gdb)cont [N] 在遇到断点后,继续执行,后面可以跟次数N,不跟默认为一次,在循环中作用较大

  • 设置临时断点

临时断点会在调用一次后自动删除

(gdb)tbreak 行号

(gdb)tbreak 函数

  • 断点管理

(gdb)enable 断点编号    可以使暂时失效的断点恢复

(gdb)disable 断点编号    将所设置的断点失效

(gdb)delete 断点编号   直接删除断点

(gdb)clear 断点所在行号  直接删除所在行断点

delete和clear不同之处是delete跟的是断点号,clear跟的是行号

抱歉!评论已关闭.