教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

嵌入式linux应用程序调试方法

来源:网络收集 时间:2026-07-29
导读: 嵌入式linux应用程序调试方法 一 前言 ............................................................................................................................................................. 2 二 嵌入式linux的NFS开发环境的建立 .........

嵌入式linux应用程序调试方法

一 前言 ............................................................................................................................................................. 2 二 嵌入式linux的NFS开发环境的建立 ...................................................................................................... 7 三 GDB调试应用程序 .................................................................................................................................. 14 四 内存工具 ................................................................................................................................................... 17

4.1 MEMWATCH .................................................................................................................................... 17 4.2 YAMD ................................................................................................................................................ 22 4.3 Electric Fence .................................................................................................................................... 24 五 C/C++代码覆盖、性能profiling工具 ..................................................................................................... 24

5.1 用gcov来测试代码覆盖率 ............................................................................................................. 25 5.2 使用gprof来优化你的C/C++程序 ................................................................................................ 35

文件名 适 用 嵌入式linux应用程序调试方法 作 者 创 建 飞越丛林 时间 2007-08-08 版本号 V0.1 说 明: 参考网络上的资料对nfs;gdb+gdbserver;gcov, gprof进行了一些描述;有不少资料是直接拷贝过来的,只相当于尝试汇总一下吧?;实际上还处于毛胚阶段。 作 者 时间 版本号 修 改

感觉偶们项目组的调试手段很匮乏,刀耕火种也许有点过分,但是也差不多;当然这和偶这个小组长的能力有关,自己先汗一个。不过没有办法,整天要浸泡在对流程从头到尾的探索,修改,再探索,再修改;经验一点一点艰难的积累…..顾此失彼,没有更多的时间来思考更多的手段问题,算是一个接口吧。

痛定思痛,还是想办法提高一点生产力。在公司内没有找到相关的资料,于是这段时间就从网络这个巨人那里讨教窃取了一些资料,结合自己的项目step by step,“生产工具能够促进生产力的发展”,工具还是给调试带来了很多便利;因为记性不好,随手将一些资料连同自己的使用情况记录了下来,共享出来希望对大家能够有所帮助。

由于缺乏操作系统移植经验,很多东西没有系统知识的支持,在目标板上只能浅尝辄止,没有更深入的探讨,东西比较浅显,光脚不怕穿鞋的,抛砖引玉,希望更多的人能够将自己的使用经验分享出来,将linux的共享精神发扬光大?。当然也方便我们根据你的经验“拿来主义”。

一 前言

在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,软件测试对一般人来讲很重要。很多年前,一位开发人员为了对嵌入式有更深层次的理解,向Oracle询问了这样的一个问题:我怎么才能知道并懂得我的系统到底在干些什么呢? Oracle面对这个问题有些吃惊,因为在当时没有人这么问过,而同时代的嵌入式开发人员问的最多的大都围绕“我怎么才能使程序跑的更快”、“什么编译器最好”等肤浅的问题。所以,面对这个不同寻常却异乎成熟的问题,Oracle感到欣喜并认真回复了他:你的问题很有深度很成熟,因为只有不断地去深入理解才有可能不断地提高水平。并且Oracle为了鼓励这位执着的程序员,把10条关

于嵌入式软件开发测试的秘诀告诉了他: 1.懂得使用工具 2.尽早发现内存问题 3.深入理解代码优化 4.不要让自己大海捞针 5.重现并隔离问题 6.以退为进

7.确定测试的完整性

8.提高代码质量意味着节省时间 9.发现它,分析它,解决它 10.利用初学者的思维

这十条秘诀在业界广为流传,使很多人受益。本文围绕这十条秘诀展开论述。

1.懂得使用工具

通常嵌入式系统对可靠性的要求比较高。嵌入式系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。随着越来越多的领域使用软件和微处理器控制各种嵌入式设备,对门益复杂的嵌入式软件进行快速有效的测试愈加显得重要。

就象修车需要工具一样,好的程序员应该能够熟练运用各种软件工具。不同的工具,有不同的使用范围,有不同的功能。使用这些工具,你可以看到你的系统在干些什么,它又占用什么资源,它到底和哪些外界的东西打交道。让你郁闷好几天的问题可能通过某个工具就能轻松搞定,可惜你就是不知道。那么为什么那么多的人总是在折腾个半死之后才想到要用测试工具呢?原因很多,主要有两个。一个是害怕,另一个是惰性。害怕是因为加入测试用具或测试模块到代码需要技巧同时有可能引入新的错误,所以他们总喜欢寄希望于通过不断地修改重编译代码来消除bug,结果却无济于事。懒惰是因为他们习惯了使用printf之类的简单测试手段。下面来介绍一些嵌入式常用的测试工具。 .源码级调试器[Source-level Debugger]

这种调试器一般提供单步或多步调试、断点设置、内存检测、变量查看等功能,是嵌入式调试最根本有效的调试方法。比如VxWorks TornadoII提供的gdb就属于这一种。 .简单实用的打印显示工具[printf]

printf或其它类似的打印显示工具估计是最灵活最简单的调试工具。打印代码执行过程中的各种变量可以让你知道代码执行的情况。但是,printf对正常的代码执行干扰比较大(一般printf占用CPU比较长的时间),需要慎重使用,最好设置打印开关来控制打印。 .ICE或JTAG调试器[In-circuit Emulator]

ICE是用来仿真CPU核心的设备,它可以在不干扰运算器的正常运行情况下,实时的检测CPU的内部工作情况。像桌面调试软件所提供的:复杂的条件断点、先进的实时跟踪、性能分析和端口分析这些功能,它也都能提供。ICE一般都有一个比较特殊的CPU,称为外合(bond-out)CPU。这是一种被打开了封装的CPU,并且通过特殊的连接,可以访问到CPU的内部信号,而这些信号,在CPU被封装时,是没法“看到”的。当和工作站上强大的调试软件联合使用时,ICE就能提供你所能找到的最全面的调试功能。但ICE同样有一些缺点:昂贵;不能全速工作;同样,并不是所有的CPU都可以作为外合CPU的,从另一个角度说,这些外合CPU也不大可能及时的被新出的CPU所更换。JTAG(Joint Test Action Group)虽然它最初开发出来是为了监测IC和电路连接,但是这种串行接口扩展了用途,包括对调试的支持。AD公司为Blackfin设计的Vi …… 此处隐藏:4950字,全部文档内容请下载后查看。喜欢就下载吧 ……

嵌入式linux应用程序调试方法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/594924.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)