C语言gdb调试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C语言gdb调试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2320字,纯文字阅读大概需要4分钟。
内容图文
程序员写在编写程序的时候不可能是一帆风顺的,gcc编译器可以发现程序代码的语法错误,但不能发现程序的业务逻辑错误,调试程序是软件开发的内容之一。调试程序的方法有很多种,例如可以用printf语句跟踪程序的运行步骤和显示变量的值,本章节介绍一个功能强大的调试工具gdb。一、gdb的安装
CentOS系统中,用root用户登录服务器,执行以下命令安装或升级。
yum -y install gdb
注意,如果您的服务器没有安装gdb,以上命令就会安装最新版本的gdb,如果已经安装了gdb,就会更新到最新版本的gdb,所以,以上命令不管执行多少次都没有问题。
安装gdb,前提条件是服务器必须接入互联网。
二、调试前的准备
用gcc编译源程序的时候,编译后的可执行文件不会包含源程序代码,如果您打算编译后的程序可以被调试,编译的时候要加-g的参数,例如:
gcc -g -o book113 book113.c
在命令提示符下输入gdb book113就可以调试book113程序了。
gdb book113
三、基本调试命令
命令 | 命令 缩写 | 命令说明 |
---|---|---|
set args | 设置主程序的参数。 例如:./book119 /oracle/c/book1.c /tmp/book1.c 设置参数的方法是: gdb book119 (gdb) set args /oracle/c/book1.c /tmp/book1.c | |
break | b | 设置断点,b 20 表示在第20行设置断点,可以设置多个断点。 |
run | r | 开始运行程序, 程序运行到断点的位置会停下来,如果没有遇到断点,程序一直运行下去。 |
next | n | 执行当前行语句,如果该语句为函数调用,不会进入函数内部执行。 |
step | s | 执行当前行语句,如果该语句为函数调用,则进入函数执行其中的第一条语句。 注意了,如果函数是库函数或第三方提供的函数,用s也是进不去的,因为没有源代码,如果是您自定义的函数,只要有源码就可以进去。 |
p | 显示变量值,例如:p name表示显示变量name的值。 | |
continue | c | 继续程序的运行,直到遇到下一个断点。 |
set varname=v | 设置变量的值,假设程序有两个变量:int ii; char name[21]; set ii=10 把ii的值设置为10; set name="西施" 把name的值设置为"西施",注意,不是strcpy。 | |
quit | q | 退出gdb环境。 |
注意,在gdb环境中,可以用上下光标键选择执行过的gdb命令。
四、课后作业
gdb调试是程序员必须掌握的方法,多尝试一下,搞清楚每个命令的用法。
九、版权声明
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!
如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!
C语言gdb调试
标签:编译 源码 步骤 软件 var 多少 定义 逻辑 点赞
本文系统来源:https://blog.51cto.com/14793471/2488375
内容总结
以上是互联网集市为您收集整理的C语言gdb调试全部内容,希望文章能够帮你解决C语言gdb调试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。