- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Keil的调试命令 ;以前我们学习了如何建立工程、写C源文件、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决。事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节。
;常用调试命令
常用窗口
输出窗口
观察窗口
反汇编窗口
结合实例 ;在对工程成功地进行汇编、连接以后,按Ctrl+F5或者使用菜单Debug-Start/Stop Debug Session即可进入调试状态,Keil内建了一个仿真CPU用来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真机的情况下进行程序的调试;进入调试状态后,界面与编缉状态相比有明显的变化,Debug菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条,如图1所示,Debug菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。 ;学习程序调试,必须明确两个重要的概念:单步执行与全速运行。
全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误出现在哪些程序行。
单步执行是每次执行一行程序,执行完该行程序以后即停止,等待命令执行下一行程序,此时可以观察该行程序执行完以后得到的结果,是否与我们写该行程序所想要得到的结果相同,借此可以找到程序中问题所在。程序调试中,这两种运行方式都要用到。 ;使用菜单STEP或相应的命令按钮或使用快捷键F11可以单步执行程序,使用菜单STEP OVER或功能键F10可以以过程单步形式执行命令,所谓过程单步,是指将汇编语言中的子程序或高级语言中的函数作为一个语句来全速执行。 ;观察窗口是很重要的一个窗口,工程窗口中仅可以观察到工作寄存器和有限的寄存器如A、B、DPTR等,如果需要观察其它的寄存器的值或者在高级语言编程时需要直接观察变量,就要借助于观察窗口了。;#includereg51.h
sbit P1_0=P1^0;
void mDelay(unsigned char DelayTime)
{ unsigned int j=0;
for(;DelayTime0;DelayTime--)
{for(j=0;j125;j++)
{;}
}
}
void main()
{ unsigned int i;
for(;;)
{ mDelay(10);
i++;
if(i==10)
{ P1_0=!P1_0;
i=0;
}
}
};编译、连接后按Ctrl+F5进入调试,按F10单步执行。注意观察窗口,其中有一个标签页为Locals,这一页会自动显示当前模块中的变量名及变量值。可以看到窗口中有名为I的变量,其值随着执行的次数而逐渐加大,如果在执行到mDelay(10)行时按F11跟踪到mDelay函数内部,该窗口的变量自动变为DelayTime和j。另外两个标签页Watch #1和Watch #2可以加入自定义的观察变量,点击“type F2 to edit”然后再按F2即可输入变量,试着在Watch #1中输入I,观察它的变化。 ;观察窗口中变量的值不仅可以观察,还可以修改,以该程序为例,I须加10次才能到10,为快速验证是否可以正确执行到P1_0=!P1_0行,点击I后面的值,再按F2,该值即可修改,将I的值改到9,再次按F10单步执行,即可以很快执行到P1_0=!P1_0程序行。该窗口显示的变量值可以以十进制或十六进制形式显示,方法是在显示窗口点右键,在快捷菜单中选择如图5所示。 ;点击View-Dissambly Window可以打开反汇编窗口,该窗口可以显示反汇编后的代码、源程序和相应反汇编代码的混合代码,可以在该窗口进行在线汇编、利用该窗口跟踪已找行的代码、在该窗口按汇编代码的方式单步执行,这也是一个重要的窗口。打开反汇编窗口,点击鼠标右键,出现快捷菜单,如图6所示,其中Mixed Mode是以混合方式显示,Assembly Mode是以反汇编码方式显示。 ;程序调试中常使用设置断点然后全速运行的方式,在断点处可以获得各变量值,但却无法知道程序到达断点以前究竟执行了哪些代码,而这往往是需要了解的,为此,Keil提供了跟踪功能,在运行程序之前打开调试工具条上的允许跟踪代码开关,然后全速运行程序,当程序停止运行后,点击查看跟踪代
您可能关注的文档
- K5+421分离桥吊装方案探索.doc
- K8+307.848盖梁首件工程开工探索.doc
- 【步步高】(江苏专用)2017版高考数学一轮复习第八章立体几何8.3直线、平面平行的判定与性质理探索.doc
- 【步步高】2015届高考生物一轮复习单元排查过三关(八)苏教版探索.doc
- K50-50塔式起重机使用说明书-安装手册探索.doc
- 【步步高】2016高考数学大一轮复习1.1集合的概念与运算教师用书理苏教版探索.doc
- 【步步高】2017版高考地理大一轮复习第4章第12讲自然地理要素变化与环境变迁讲义探索.doc
- K-90B联机热泵控制板规格书探索.doc
- 【成才之路】2014-2015学年高中语文(人教版)必修2课时练:第11课就任北京大学校长之演说]探索.doc
- DCOS监控模块设计探索.doc
最近下载
- 92010083-A02-(金鼎 CoolMaster R410A2.0风冷系列室内机用户手册-触摸屏).pdf VIP
- 临床药物治疗学(暨南大学)临床药物治疗学绪论.ppt VIP
- 安全操作规程培训课件.ppt VIP
- 化工设备机械基础1(2学时) 幻灯片.ppt VIP
- 临床药物治疗学第01章_论精美生物医学.ppt VIP
- 急诊危重症患者院内转运共识———标准化分级转运方案.pdf VIP
- 带状疱疹后神经痛研究进展.docx VIP
- 红楼梦之十二金钗完美攻略.pdf
- 智能配电网故障快速识别及处置方法的深度剖析与实践探索.docx VIP
- 《旅游企业财务管理》 教案全套 项目1--10 旅游企业财务管理概述---旅游企业预算管理.doc
文档评论(0)