- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
科卓嵌入式培训PPT-软件调试技巧(Linux 篇) 20111104.pdf
苏州澜起科技——嵌入式企业内训
课 程:嵌入式软件调试技巧—Linux篇
主讲人:金鑫
日 期:2011年11月12 日
软件调试技巧(系列二)
· 软件调试的重要性
· Linux APP 软件调试的方法
· Linux 内存的调试方法
· Linux性能的调试方法及常用方法
· Linux内核的调试方法
· bootloader 的调试技巧
/
软件调试的重要性
软件调试的重要性
调试是一个程序员的最基本的技能,其重要性甚至超
过学习一门语言,因为没有bug的程序几乎是不存在
的,尤其是现在系统越来越庞大,导致程序出现问题
的可能性越来越大,常见的一些问题如:
程序中的内存管理问题,如内存泄漏,内存溢出
等;
程序性能的问题,如程序对CPU 占有比较高,执
行某种行为占用大量的时间;
程序设计的时候出现逻辑错误,导致程序的行为
与预想的行为出现偏差
/
Linux APP软件调试的方法
Linux APP 软件调试的方法
通过GDB调试程序
通过core调试程序的异常
通过strace看系统调用
/
Linux APP软件调试的方法
GDB的功能
启动你的程序,可以按照你的自定义的要求随心所欲的运行程序;
可让被调试的程序在你所指定的调置的断点处停住;(断点可以是条件
表达式)
当程序被停住时,可以检查此时你的程序中所发生的事;
动态的改变你程序的执行环境。
/
Linux APP软件调试的方法
GDB的命令详解
首先在编译程序的时候要使用-g选项
编译好后启动gdb就可以,下面为命令的详解:
run:后面可以跟随发给该程序的任何参数,如果你使用不带参数的
run命令,gdb就再次使用你给予前一条run命令的参数
set args :修改发送给程序的参数
show args :查看其缺省参数的列表
backtrace:查看函数调用的过程表
/
Linux APP软件调试的方法
GDB的显示数据命令
print p (p为变量名):利用它可以显示被调试的语言中任何有效
的表达式。表达式除了包含你程序中的变量外,还可以包含以
下内容:
对程序中函数的调用: print find_entry(1,0)
数据结构和其他复杂对象:
print *table_start={e=reference=’\000’,location=0x0,next=0x0}
显示数组:print base@length length为显示数组的长度
/
Linux APP软件调试的方法
GDB的断点设置
break命令(可以简写为b)可以用来在调试的程序中设置断点,
文档评论(0)