完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
GDB的介绍
GDB :GDB全称:GNU Debugger,是GNU工程为GNU操作系统开发的调试器。它可以用于调试C、C++、Objective-C、Pascal、Ada等语言编写的程序。被调试的程序可以跟GDB运行于同一台电脑,也可运行于不同电脑。 GDB的常用命令 file 装入想要调试的可执行文件 kill 终止正在进行的调试程序 list 列出产生执行文件的源代码的一部分 next 执行一行源代码但不进入函数内部 step 执行一行源代码并可以进入函数内部 run 执行当前被调试的程序 c 继续运行程序 quit 终止gdb watch 使你能监视一个变量的值而不管它何时被改变 backtrack 栈跟踪,查看代码被谁调用 print 查看变量的值 make 不用退出gdb,就可以重新生成可执行文件 shell 不用退出gdb,就可以使用UNIX shell命令 whatis 显示变量或者函数类型 break 设置断点 info break 显示当前断点信息,包含到达断点处的次数 info files 显示被调试文件的详细信息 info func 显示所有函数名称 info local 显示当前的函数的局部变量 info prog 显示被调试程序的执行状态 delete [n] 删除第n个断点 disable [n] 关闭第n个断点 enable [n] 开启第n个断点 ptype 显示结构定义 set variable 设置变量的值 call name(args) 调用并执行为name,参数为args的函数 Finish 终止当前函数并输出返回值 return value 停止当前函数并返回value给调用者 GDB的使用 GDB的使用条件 程序要用GDB调试,需要添加调试信息。 添加方法: gcc的-g选项为程序添加调试信息。 例如:gcc –g –o hello hello.c 启动gdb • gdb [程序名] 实例 1.首先我们用vim编辑器编写名字为RevertNum.c的程序,代码如下: #include 2.用Gcc编译,代码如下: 3.输入gdb +文件名启动gdb,如下: 得到: 4.输入l显示代码,输入list显示主程序: 5.通过行号设置断点,我设置的是15行,并输入info b 查看断点: 6.通过函数名设置断点,并输入info b 查看所有的断点: 7.执行程序 8.输入whatis iNum和print iNum查看变量类型和变量内容 9.执行程序,输入值为123 10.得到结果 心得体会 通过本次实验,我基本上掌握了GDB调试的方法。但还是有很多不足,以后慢慢调试,慢慢进步。 |
|
|
|
只有小组成员才能发言,加入小组>>
888 浏览 0 评论
1200 浏览 1 评论
2577 浏览 5 评论
2913 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2775 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1247浏览 3评论
227浏览 2评论
501浏览 2评论
410浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
489浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 16:31 , Processed in 0.916815 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号