- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五课调试CodeWarrior使用教程
更多电子资料请登录赛微电子网
CodeWarrior 使用教程
第五课 调 试
Translated from CodeWarriorU.COM
关于调试
Purging pesky pests proves productive for programmers!
调试就是在你的程序代码中找到一个问题并着手去解决它的过程。不管是谁,在编程时都难免出现一些输入或程序逻辑上的错误,一旦出现这种问题,很可能你想破了头也找不到错误在哪。这个问题可能只是一个输入上的小错误或者只是一个变量用错了,因此你很难发现它。但是因为这个错误的存在使得你的程序无法实现预期的功能。有时候会更糟糕,以致你的机器都崩溃了。这时,你就必须借助调试来解决问题。
CodeWarrior 带有一个集成的调试器,可以让你在 CodeWarrior 主窗口中打开一个窗口来进行调试工作。使用调试器的方法是,从工程菜单中选择 Enable Debugger 项,然后重新编译你的目标文件。完成上述步骤后,你的程序就会在调试窗口中运行,此时你就可以隔离并改正你找到的任何一个问题了。
通常进行调试时总要生成源程序的一个调试目标文件。该目标文件的源文件保持不变,但是需要预先设置置一些选项才能产生该程序的调试版本。通过点击工程窗口的弹出菜单中的调试目标文件,你就可以进入调试状态。
图 5-1: 调试器界面
图 5-1显示了 Hello World 这个程序在 CodeWarrior 调试器中进行调试时的情况。为了能够更方便地演示调试器的工作过程,我们在程序中添加了一小段循环代码(其中使用了 i、x 和 y 等三个变量)。调试器允许对代码执行单步逐行调试。当你在代码中移动时,你还可以查看程序中所有变量的值。在这种“慢速移动(slow motion)”的方式下调试程序,你可以非常清晰地查看到代码的运行情况并很容易地解决问题。
但实际情况是,不是所有的问题都很容易解决的。有些问题就有可能要花费你长达数周的时间去解决。不管是经验多么丰富的编程老手,同样不可避免地要遇到这样的问题。作为一个初学者,你更容易遇到这样的问题,但是,你千万别被这种情况吓倒。请记住,从错误中学习,你能学到更多的东西。
请注意在调试器窗口左上角的那些按钮,它们是用于帮助你进行调试工作的。这些按钮从左到右分别是:运行程序(Run Program)、停止(Stop)、退出(Kill (Quit))、跳过(Step Over)、转入(Step Into)和转出(Step Out)。最后两个命令按钮是让你决定在单步调试程序时,如果遇到一个函数,是否要进入函数内部进行代码调试。或者你也可以使用跳过(Step Over)命令让该函数一次执行完毕,而不进入函数体中单步调试函数的代码,这样可以节省一些时间。如果你不能肯定函数是否正确无误,那么你可以转入(step into)该函数体内部对其进行单步调试。对于初学者,你应该单步调试每一个函数,至少可以练练手嘛!
图 5-1 所示的调试窗口包含三个主要部分:
栈窗格(The Stack pane):位于左上方的窗格是显示调用栈(也叫做调用栈的记录)的区域。当你在单步调试源码的过程中调用了多个函数时,在这个区域就显示出调试到达当前状态之前调用过的函数名清单。这个清单会随着你的调试过程,根据你是否转入函数内部的情况随时增减;
变量窗格(The Variables pane): 位于右上方的窗格是显示变量名和其值的区域。其中显示的是各个变量的名字和它们的值,而且还可以依据变量的类型让你查看(或修改)这些数据。在图5-1中显示的 Hello World x86 程序这个例子中,有四个变量:c,i,x 和 y。当你在代码中执行单步调试时,这些变量的值就会根据程序执行的过程实时地更新。例如,在调试过程中,你可以注意到后三个变量是如何取得它们的值的(这些值是在循环代码中赋给这些变量的),而变量 c 显示的是一个无意义的值(因为你还没有给 getchar() 输入任何值)。你可以使用这个窗格来发现不正常的变量值,从而发现程序设计上的错误这对于程序的调试成功,非常关键;
源代码窗格(The Source pane):位于下方的窗格显示了 Hello World x86 这个程序的 C 语言源代码,它也可以用来显示该代码的汇编语言版本。随着调试的深入进行,仅仅是程序的 C 语言代码可能不能提供足够的调试信息,这是你就需要查看该程序的汇编语言代码。你可以通过该窗口下端的弹出菜单来选择查看程序的源代码、汇编代码或者两者的混合显示。
你可能已经注意到在源代码窗格左边的红色停止标记,该标记表示这是一个断点,它用于告
您可能关注的文档
- 第五章 薪酬管理 企业人力资源管理师(二级).ppt
- 第五章 航天器的被动姿态控制系统 航天器控制原理 教学课件.ppt
- 第五章 薪酬管理 人力资源课程课件.ppt
- 第五章 蛋白质和氨基酸 食品营养学 教学课件.ppt
- 第五章 脉诊 中医诊断.ppt
- 第五章 行政行为 行政法与行政诉讼法教案.ppt
- 第五章 行为动力 心理学概论课件.ppt
- 第五章 第四节 脂类的测定.ppt
- 第五章 表面、相界和晶界 无机材料物理化学 教学课件.ppt
- 第五章 表面粗糙度 新编 互换性与技术测量PPT课件.ppt
- 第五课—语法 我听过钢琴协奏曲《黄河》 初级汉语 汉语教学课件(外国老师使用的资料).ppt
- 第五课 课文 我听过钢琴协奏曲《黄河》 课文 (一) 我吃过中药 初级汉语 汉语教学课件(外国老师使用的资料).ppt
- 第五讲5.3 冶金缺陷 材料成型原理 教学课件.ppt
- 第五讲:团队创建与激励 创业管理教学课件.ppt
- 第五讲:西方政府监督与政府关系比较 比较公共行政PPT.ppt
- 第八届小机灵杯三年级复赛试题 数学竞赛(复赛)试题.doc
- 第八届小机灵杯五年级复赛试题 数学竞赛(复赛)试题.doc
- 第五课价值观 大学生成功之路 教学课件 ——成功的指南针.ppt
- 第八届小机灵杯四年级复赛试题 数学竞赛(复赛)试题.doc
- 第八期入党积极分子培训班复习提纲.doc
文档评论(0)