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程序开发经验的人都会理解。
- Ubuntu 学习 调试(7)
- umbraco学习7:调试
- Android NDK学习--编译和调试(Ubuntu+Eclipse+NDK)
- [linux学习笔记]之一:ubuntu ch340调试备忘
- hadoop学习笔记:Ubuntu下搭建eclipse调试环境
- GDB调试程序-Ubuntu
- ubuntu+netbeans+xdebug调试
- ubuntu 调试HelloWorld 驱动
- ubuntu 调试HelloWorld 驱动
- ubuntu 调试HelloWorld 驱动
- ubuntu usb调试
- ubuntu adb 调试手机
- ubuntu下真机调试android
- ubuntu连接手机调试
- ubuntu bluetooth 调试
- Ubuntu调试小米2
- Ubuntu 下真机调试
- Ubuntu内核调试技巧
- [bzoj1042][HAOI2008]硬币购物
- 主席树
- 一个很简单的Jqery弹出框
- 数组与矩阵的区别
- 实现HTTP服务器的三种方法
- Ubuntu 学习 调试(7)
- 依赖时间错误
- 数据结构实验之图论四:迷宫探索
- POJ 2411 Mondriaan's Dream ( 状压DP )
- VMtool安装,Enter the path to the kernel header files for the。。。。
- hdu 5802 搜索加贪心
- 杂记3:android AsyncTask基础应用
- Unable to acquire Oracle environment handle
- 数据结构上机测试1:顺序表的应用