




kok电子竞技权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
kok电子竞技:文档简介
12十二月2023DELPHI程序设计基础教程第九章调试技术本章学习导读9.1编译调试概述9.2程序错误分类9.3编译器的设置9.4程序的调试本章小结12十二月2023DELPHI程序设计基础教程本章学习导读本章首先介绍在程序编写过程中可能出现的错误,然后介绍如何使用Delphi内嵌的调试工具来检查已编写完成的源程序。让读者掌握通过Delphi对程序进行基本测试的方法。12十二月2023DELPHI程序设计基础教程9.1编译调试概述程序中的错误基本可以分为三类:编译错误:一般是语法错误。运行错误:程序能正常编译但在运行时出错。逻辑错误:逻辑错误是指程序设计和实现上的错误。程序语句是合法的,并顺利执行了,但执行的结果却不是所希望的。程序调试的主要内容可以包括如下几个方面:控制程序的执行断点的数用监视和检查数据的值12十二月2023DELPHI程序设计基础教程9.2程序错误分类9.2.1编译错误9.2.2运行错误9.2.3逻辑错误12十二月2023DELPHI程序设计基础教程9.2.1编译错误编译错误的产生是Delphi将源程序编译称单元目标文件.dcu是所产生的错误。在编译错误中最常见的就是程序语法错误,如源程序中出现了未经定义的非法字符,语句结尾缺少“;”等。当语法出现错误时,Delphi自动装入错误的文件,并将光标定位在代码编辑器中的错误处,同时在代码编辑器的状态栏显示出错信息,包括出错的语句行号以及错误类型等信息。语法错误往往是由于程序编写不规范、疏忽所引起的,如中文输入与英文输入状态切换不及时等。良好的编程习惯能减少类似错误的发生。语法错误相对来说容易识别,根据出错信息逐条语句更正错误即可顺利通过编译。12十二月2023DELPHI程序设计基础教程9.2.2运行错误运行错误是指在编译通过后,运行程序时产生的错误。这类错误往往是由指令代码执行了一非法操作引起的。如:定义的数组在运行时越界、试图打开一个不存在的文件产生I/O错误等。运行错误一旦发生,Delphi会终止程序运行。12十二月2023DELPHI程序设计基础教程9.2.3逻辑错误逻辑错误是程序逻辑关系上存在的错误,也是经常出现的错误类型。这类错误不影响程序的正常编译和运行,更不会出现错误的提示或警告对话框,但程序运行的结果却没有实现设计的功能。12十二月2023DELPHI程序设计基础教程9.3编译器的设置包含调试信息执行菜单“工程|选项”转换到“Compiler”选项卡,如图9-4所示。
图9-4设置编译参数12十二月2023DELPHI程序设计基础教程9.3编译器的设置Debugging选项组是编译过程控制调试信息的选项。要使得集成调试器调试应用程序,必须选中该组中的选项。启动“Debuginformation”复选框,则在编译文件中包含调试信息;启用“Localsymbols”复选框,则在编译文件中包含有源文件符号表。启用Debugging选项组后,编译后生成的执行文件长度增大。如果应用程序交付给用户时,建议将该组下的选项除去,然后使用菜单“工程|编译”命令重新编译,以减小应用程序的长度,提高执行效率。12十二月2023DELPHI程序设计基础教程9.3编译器的设置允许完整模式调试执行菜单“工具|调试器选项”命令,在“General”选项卡上,勾选底部的“IntegratedDebugging”复选框(默认状态下,该项是被选中的)。12十二月2023DELPHI程序设计基础教程9.4程序的调试9.4.1断点的设置和使用9.4.2单步执行9.4.3查看变量9.4.4其他调试方法与技巧12十二月2023DELPHI程序设计基础教程9.4.1断点的设置和使用断点指的是在程序代码的某一行上设一个标记,程序执行到标记处将暂停,由调试器控制程序的运行。通常把断点设置在怀疑会产生错误的代码前,或直接设置在问题代码上。在遇到断点之前,程序正常运行,到断点后程序暂停,然后使用单步或跟踪等方式执行程序,以发现错误。12十二月2023DELPHI程序设计基础教程9.4.1断点的设置和使用设置断点断点的设施十分灵活,既可以在程序设计期设置断点,还可以在调试期添加和删除断点。设置断点有以下几种方法:(1)单击代码某一行最左端;(2)把光标定位在需设置断点的代码行上,按F5键;(3)执行菜单“运行|添加断点|源中断”命令,在对话框中设定添加断点的代码行号;(4)右击代码行,在弹出的快捷菜单中执行“Debug|ToggleBreakpoint”命令。需要注意的是,断点必须设置在可执行的代码行上。如果将断点设置在空行、注释行或其他不能执行的代码行上,调试器将认为断点无效,12十二月2023DELPHI程序设计基础教程9.4.1断点的设置和使用查找断点如果在代码上设置了多个断点,而且断点不在当前编辑窗口,那么可以在断点列表中寻找断点,并在源代码中定位。执行菜单“查看|调试窗口|断点”命令或者直接使用快捷键Ctrl+Alt+B来打开断点列表,12十二月2023DELPHI程序设计基础教程9.4.1断点的设置和使用删除断点删除某个断点可直接单击断点所在的代码行的左端红点。如果要删除所有断点,可以在断点列表窗口空白处右击,在弹出菜单中执行“DeleteAll”命令即可。12十二月2023DELPHI程序设计基础教程9.4.1断点的设置和使用断点的屏蔽与激活在有些情况下,在设置断点以后可以随时禁用某个断点,使断点暂时无效。程序运行到该断点不会暂停程序,但断点依旧存在,以后还可以使用它。要屏蔽某个断点,可以在断点列表中选中断点,在快捷菜单中选择“Enabled”命令,去除“Enabled”前的勾。系惚黄帘。在激活断点时,只需将再次单击“Enabled”即可。12十二月2023DELPHI程序设计基础教程9.4.2单步执行对程序进行调试时,常常要监视程序运行的进度、当前状况以及各种变量在不同运行阶段的值。通过单步或跟踪调试,能单函数(过程)或单条语句逐步运行程序,以发现程序中的错误。单步调试能使程序每次执行一行代码,可以使用“运行”菜单下的“步越”命令,或直接使用F8快捷键。跟踪调试与单步调试有点类似,每次也是执行一行代码,不同的是跟踪调试能进入被调用的函数(过程)内部,在函数和过程中,每次也只执行一行代码。可以使用“运行”菜单下的“步入”命令或F7快捷键进行跟踪调试。为加快程序调试速度,可以先在可疑代码行前设置断点,先将程序执行到断点,然后接着使用单步或跟踪调试。12十二月2023DELPHI程序设计基础教程9.4.3查看变量在单步或跟踪调试时,鼠标在变量上停顿,可以显示该变量的值,但仅能显示当前鼠标指向的变量值。有时为了直观的分析、比较变量或表达式在不同运行时期的值,需要同时查看多个变量。为实现这个目的,Delphi提供了监视窗口(WatchList)。程序调试时可以把需跟踪的变量或表达式加入到监视窗口。12十二月2023DELPHI程序设计基础教程9.4.3查看变量添加监视变量或表达式使用如下方法:(1)在代码编辑器中,右击需监控的变量或表达式,在弹出菜单上执行“Debug|AddWatchAtCursor”命令;(2)在代码编辑器中,光标定位到监控变量上,按Ctrl+F5键。以上方法添加了跟踪变量后,会弹出如图9-7所示“WatchList”(监控)窗口。变量前的复选框用来允许或暂停该变量的监视,Value显示了变量当前的值,从中可以监视到变量值的变化。图9-7监视窗口12十二月2023DELPHI程序设计基础教程9.4.3查看变量删除监视变量可以在监视窗口列表中右击鼠标,执行弹出菜单中的“DeleteWatch”命令。“DeleteAllWatch”命令可以删除所有监视变量或表达式。12十二月2023DELPHI程序设计基础教程9.4.4其他调试方法与技巧在程序调试过程中,往往会因为程序的错误导致程序挂起,此时可以执行“运行”菜单下的“程序复位”命令终止程序运行或调试,Delphi会自动释放所有可视化控件占用的资源,关闭所有打开的文件,清除所有的变量。12十二月2023DELPHI程序设计基础教程本章小结Delphi提供了功能强大的内置调试器,因而不需要离开集成开发环境就可以调试程序。断点、单步执行、跟踪执行、监视和检查数据为我们调试程序提供了有力的帮助。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
kok电子竞技:最新文档
- 出兑摊位合同范本
- 别墅设计合同范例
- 个人门窗施工合同范本
- 乡村空房转让合同范本
- 第7课《敬业与乐业》教学设计 2024-2025学年统编kok电子竞技语文九kok电子竞技上册
- 加盟金额写入合同范例
- 保本合同范本
- 切割加工项目合同范本
- 企业赞助活动合同范本
- 交技术合同范本
- MOC3061驱动BT134双向可控硅
- 骗提个人住房公积金检讨书
- 监控系统维保方案计划及报价
- 无线通信与网络复习资料
- ABCD2评分量表(TIA早期卒中风险预测工具)
- E-learning平台使用手册(培训管理员kok电子竞技)
- 自动化物料编码规则
- 人教kok电子竞技小学数学五kok电子竞技下册教材分析
- 小学音乐教材分析
- 委托收款三方协议
- 黄冈市2021-2022高一上学期期末考试数学试题及答案
评论
0/150
提交评论