gdb调试器

来源:互联网 发布:高潮是什么体验知乎 编辑:程序博客网 时间:2024/06/04 18:29
    Linux下的gdb调试器,是一款GNU组织开发并发布的UNIX/Linux下的程序调试工具。在进行调试时,要主义gdb进行调试的是可执行文件,而不是源代码文件。因此要先通过gcc编译生成可执行文件才能用gdb进行调试。
    在gcc编译的时候,要加上选项“-g”,这样编译出的可执行代码中才能包含调试信息,否则gdb无法载入该可执行文件。gdb是命令行调试环境,调试程序都在提示符“(gdb)”后输入相应的命令,gdb的命令很多,可以在提示符后输入help进行查找。

常用的gdb命令

命令格式
作用
list 行号|<函数名>
查看指定位置的程序源码
info break
显示断点信息
run运行程序
print 表达式 |变量
查看程序运行对应表达式和变量的值
next
单步恢复程序运行,但不进入函数调用
step
单步恢复程序运行,且进入函数调用
continue
继续执行函数,直到函数结束或遇到新断点
break
设置断点

(gdb)l                  查看源文件,一次显示10行
(gdb)list/l  行号       查看指定位置的代码
(gdb)b 函数名/行号    在某函数或指定位置设置断点
(gdb)info b            查看断点信息(有多个断点,Num显示断点序号)
(gdb)r  行号            gdb默认从第一行开始运行,如果要指定行开始运行,则使用该命令
(gdb)p 变量名          查看指定变量的值
(gdb)set 变量=设定值  修改变量值。gdb显示变量时都会在对应值前加“%n”标记,以后再引用的话可以直接使     用  “%n”,提高效率。
(gdb)n或s              单步运行程序。若有函数,调用时s会进入该函数,而n不会进入该函数。
(gdb)c                 查看完变量或堆栈后可以输入“c” 命令恢复程序的正常运行,把剩余的程序执行完。
(gdb)q                 退出gdb环境
原创粉丝点击