首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» linux应用程序开发入门——初试调试工具gdb(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
linux应用程序开发入门——初试调试工具gdb(2)
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2015-2-7 20:25
|
只看该作者
linux应用程序开发入门——初试调试工具gdb(2)
应用程序
,
linux
,
开发
,
断点
上个关于
GDB
的帖子,感觉写了跟没写似得,这次我们继续,我们在调试程序的时候,经常使用的功能有:
1.
断点
(b
——
> breakpoint)
这个命令的功能是加入断点,下面我们具体来说:
红线处,我们使用
”b
函数名
”
的方式在
main
函数处加入断点,表示程序开始后即停住,当然加入断点的方式不是只有这一种,看下面:
我们使用
”b
数字
“
的方式在特定的某一行加入断点
~
,比如说我们可能加入了很多断点,我们忘了,那么我们可以来查看一下
:
我们使用
”info b“
来查看我们设置的断点的情况,我们来说说这个列表信息:
1.
第一列表示断点的标号
2.
第四列告诉我们断点的使能情况‘
y’
表示
yes
,有效;
’n‘
表示
no
,无效
3
.
最后一列告诉我们断点在哪个文件的第几行
加入断点之后,我们来调试:
输入
’r’
之后,程序开始运行,但是因为我们设置了断点,所以如上图所示,程序停在了断点处,可以看见,程序停在了初始化
num
这一句上。我们知道这个时候
num
还没有被初始化,所以
num
的值应该是随机的,不信,我们来查看一下:
2.
查看变量的值
(p
——
> print)
这里我们使用
”p
变量名
”
的方式来查看变量的取值,果然是个随机的值
3
.单步运行(
s ——> step
)
接着,我们来单步运行一下:
我们使用
’s‘
命令来单步调试,如上图所示程序从刚才的第
6
行,运行到了第
7
行,现在呢,
num
肯定已经被初始化为
0
了,不信,我们来查看一下:
下面我们到了第
7
行,这一行有些特殊,因为它是调用了一个函数,如果我们使用
’s’
进行单步的话,我们将会进入函数体内部,那么如果我们不愿这样呢?
4.
单步,但是不进入函数体内部(
n ——> next
)
这里,我们使用
’n‘
,来实现我们的功能,可以看见程序直接运行完了整个函数,进入了下一行。
5.
修改变量的值
在调试程序的时候,我们很多时候需要临时修改程序中变量的值,下面我们来演示:
我们修改使用
“set variable
变量名
=xx”
的方式来修改变量的值,从上图可以看见,我们成功的修改了
num
的值。
6.
使断点无效
有些时候,有些断点我们在加入了之后,我们可能需要让它暂时无效:
我们先查看一下断点的情况,确认
2
号断点是
y
,也就是有效的,然后我们使用
“disable 2”
来使它无效,同样的我们可以使用
”enable 2“
来让
2
号断点有效,这里就不演示了。
7.
删除断点
我们使用
”delete
断点号
”
的方式来删除断点
8.
进入到一个函数之后,快速的出来(
c ——> continue
)
有些时候,我们因为要查看变量在函数里执行情况,我们需要进入子函数,当我们看完关键代码后,我们可能会希望快速的出来,而不是继续单步出来。这个时候我们可以直接输入
“c”
我们就能运行到函数结尾,或者下一个断点处了。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议