嵌入式C语言开发 gdb的使用

gdb是GUN发布的一款功能强大的程序调试工具,主要完成三方面功能:
1、启动被调试的程序
2、让被调试的程序在指定的位置挺停住
3、当程序被停住时,可以检查程序状态-变量值

学习GDB的三步走

1、学会使用GDB(基础命令)
2、掌握GDB的场景的使用技巧(多任务、网络程序、内存管理、core、汇编程序)
3、实现GDB(实现一个调试器:应用程序)

做法

首先,写一个可执行的gdb-gemo.c文件,输入命令(一定要加-g,其意义是生成一些调式信息)

gdb+可执行文件
在这里插入图片描述
在(gdb)后面输入run,运行程序。
在这里插入图片描述

break+行数 设置断点(在第几行停下来)再输入print+变量,可以显示当时变量的值。

退出:quit

图形化带界面的gdb,输入命令:gdb gdb-gemo --tui
再敲一下回车,屏幕上会出现原码。

break+行数 设置断点
(如果需要跳过断点继续运行,输入命令:continue
查看断点信息:info break 第一个数字是断点编号
删除断点:delete+断点编号 )

next可以缩写成n 下一步
在这里插入图片描述
显示汇编:layout asm
在这里插入图片描述
显示原码:layout src
在这里插入图片描述
分层,上面显示原码,下面显示汇编:layout split
在这里插入图片描述
查看断点信息
在这里插入图片描述
在调用函数的时候停下来:break+函数名

break+行号+条件

关闭断点,但是并没有删:disable + 断点编号
恢复:enable+断点编号

step和next都是单步执行

总结

gdb命令
run:在调试器中运行程序
list:查看程序原码
break+行号:设置断点
break+行号+if条件:设置断点
break+函数名:设置断点
info break:查看断点信息
delete+断点编号:删除断点
enaslbe/disable:使能断点
print+/x 变量名:查看变量值(/x就是什么类型的)
next:单步执行,不进入子函数
step:单步执行,进入子函数
continue:继续执行,直到遇到下个断点
finish:继续执行,在函数内部时,执行到函数结束
call + 函数:调用函数
print+变量=值 :设置变量的值
clear:清楚所有断点
ptype+变量:查看变量的类型
gdb+可执行文件+ --tui :启动图形化调试窗口
layout asm:显示汇编
layout src:显示源代码
ayout split:显示源代码+汇编程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值