嵌入式linux调试

嵌入式linux调试

ID:19821628

大小:1.14 MB

页数:39页

时间:2018-10-06

嵌入式linux调试_第1页
嵌入式linux调试_第2页
嵌入式linux调试_第3页
嵌入式linux调试_第4页
嵌入式linux调试_第5页
资源描述:

《嵌入式linux调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.张林(zl@higheasyrd.com)软件研发部20080730嵌入式Linux调试技术主要内容嵌入式调试也是一门艺术GDBCoreDump武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,软件测试对一般人来讲很重要。很多年前

2、,一位开发人员为了在对嵌入式有更深层次的理解,向Oracle询问了这样的一个问题:我怎么才能知道并懂得我的系统到底在干些什么呢?Oracle面对这个问题有些吃惊,因为在当时没有人这么问过,而同时代的嵌入式开发人员问的最多的大都围绕“我怎么才能使程序跑的更快”、“什么编译器最好”等肤浅的问题。所以,面对这个不同寻常却异乎成熟的问题,Oracle感到欣喜并认真回复了他:你的问题很有深度很成熟,因为只有不断地去深入理解才有可能不断地提高水平。并且Oracle为了鼓励这位执着的程序员,把10条关于嵌入式软件开发测试的秘诀告诉了他:武汉恒亿电子科技发展有限公司WuhanHiEasyEle

3、ctronicTechnologyDevelopmentCo.,Ltd.一个小故事1.懂得使用工具2.尽早发现内存问题3.深入理解代码优化4.不要让自己大海捞针5.重现并隔离问题6.以退为进7.确定测试的完整性8.提高代码质量意味着节省时间9.发现它,分析它,解决它10.利用初学者的思维武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.10条秘诀就象修车需要工具一样,好的程序员应该能够熟练运用各种软件工具。不同的工具,有不同的使用范围,有不同的功能。使用这些工具,你可以看到你的系统在干些什么,它又占用

4、什么资源,它到底和哪些外界的东西打交道。让你郁闷好几天的问题可能通过某个工具就能轻松搞定,可惜你就是不知道。那么为什么那么多的人总是在折腾个半死之后才想到要用测试工具呢?原因很多,主要有两个。一个是害怕,另一个是惰性。害怕是因为加入测试用具或测试模块到代码需要技巧同时有可能引入新的错误,所以他们总喜欢寄希望于通过不断地修改重编译代码来消除bug,结果却无济于事。懒惰是因为他们习惯了使用printf之类的简单测试手段武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.懂得使用工具武汉恒亿电子科技发展有限公

5、司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.常用调试工具1.源代码级调试器(Source-levelDebugger)--gdb2.简单实用的打印显示工具[printf]3.ICE或JTAG调试器[In-circuitEmulator]–BDI20004.ROM监视器[ROMMonitor]5.Data监视器[DataMonitor]6.OS监视器[OperatingSystemMonitor]7.性能分析工具[Profiler]8.内存分析工具[MemoryTeseter]–mtrace、boundschecker9.

6、运行跟踪器[ExecutionTracer]--strace10.覆盖工具[CoverageTester]11.自制工具[Home-madetester]12.GUI测试工具[GUITester]–robot、LoadRunner主要有三种类型:内存泄露、内存碎片和内存崩溃对于内存问题态度必须要明确,那就是早发现早“治疗”。武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.尽早发现内存问题武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentC

7、o.,Ltd.深入理解代码优化讲到系统稳定性,人们更多地会想到实时性和速度,因为代码效率对嵌入式系统来说太重要了。知道怎么优化代码是每个嵌入式软件开发人员必须具备的技能。就象女孩子减肥一样,起码知道她哪个地方最需要减,才能去购买减肥药或器材来减掉它。可见,代码优化的前提是找到真正需要优化的地方,然后对症下药,优化相应部分的代码。武汉恒亿电子科技发展有限公司WuhanHiEasyElectronicTechnologyDevelopmentCo.,Ltd.不要让自己大海捞针大海捞针只是对调试的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。