Ubuntu 学习 调试(7)

来源:互联网 发布:100教育网络辅导 编辑:程序博客网 时间:2024/06/06 18:42

调试

指的是对编好的程序用各种手段进行查错和排错的过程。
gdb是Linux中内置的一个功能强大的调试工具,主要用来调试C程序或C++程序。
使用gdb调试时主要进行五个方面操作:
1。启动程序
2。设置断点
3。查看信息
4。分步运行
5。改变环境

其中断点的设置可以为行数、程序名称或条件表达式。

使用gdb进行程序调试,方法是在编译程序时使用一个-g参数。

gcc -g -o test.debug test.c

编译程序test.c,生成一个test.debug的可执行程序。这个可执行程序中加入供调试所用的信息。

使用gdb时可以直接在终端中键入gdb即可进入gdb程序中,然后通过cd切换到工作目录下,使用file指令加载被调试文件,或直接在gdb命令后跟要调试的文件一步到位。

gdbcd ~file test.debuggdb test.debug

list命令用来显示程序的源代码,list 1显示系统自动设置的断点1之前的所有源代码。
通过break指令+行号可以设置断点,并用info breakpoint进行查看。

break 6break 8info breakpoint

这里写图片描述
可以查看断点的详细信息。

接下来使用run指令开始调试程序,可看到程序自动停在了断点所在位置,需要注意的是,如果主函数main中嵌套函数,那么断点调试先会进入main函数,随后才会跳入其他断点。

next指令为单步调试指令,每输入一次next程序向下走一行,不进入函数。

step也为单步调试指令,不同之处则进入函数内部。

continue指令则是运行到下一个断点,相对next能更快一些。

在程序运行过程当中,当需要查看变量取值时,需要调用print函数,如print i.

遇到不懂之处可以在(gdb)命令行之后敲help指令,即可展开帮助文件,使用help all指令可以查看gdb程序中所有可以运用的指令。

关于编译程序中常见的错误就不多论述了,有过一定C程序开发经验的人都会理解。

0 0
原创粉丝点击