Delphii提供了一个功能强大的Integrated Debugger(内置调试器),因而对程序的调试不用离开集成开发环境就可以进行。
程序错误基本可以分为两类,即运行时错误和逻辑错误。所谓运行时错误是指程序能正常编译但在运行时出错。逻辑错误是指程序设计和实现上的错误,程序语句是合法的,并顺利执行了,但执行结果却不是所希望的。
对于这两类错误,调试器都可以帮助你快速定位错误,并通过对程序运行的跟踪和对变量值的监视帮助你寻找错误的真正原因和解决错误的途径。
程序调试的主要内容可以概括为如下几方面:
(1)准备和开始;
(2)控制程序的执行;
(3)断点的使用;
(4)检查数据的值。
程序调试只有用户实际上机操作才能真正掌握。在这一节中我们主要对调试中的主要问题和一些关键点进行介绍。
1. 调试的准备和开始
在程序开发过程中程序编码和调试是一个持续的循环过程,只有在对程序进行了彻底地测试后才能交付最终用户使用。为了保证调试的彻底性,在调试前应制定一个详细的调试计划。一般说来应该把程序划分为几个相对独立的部分,分别进行调试,以利于错误的迅速定位,确保每一部分程序都按设计的要求运行。
调试计划准备好后就可以开始程序的调试。
在程序调试过程中,程序的执行完全在我们控制之中。可以在任何位置暂停程序的执行检查变量和数据结构的值,显示函数调用序列,修改程序中变量的值以便观察不同值对程序行为的影响。
2. 调试的方法
程序运行控制的方法和使用见表2.6。
表2.6 调试方法列表
方法 | 使用途径 |
运行到光标位置 | F4 |
Run主菜单的Run to Cursor命令 | |
Code Editor右键菜单的Run to Cursor命令 | |
跟踪 | F7 |
右键菜单的Trace Into | |
Run主菜单的Trace Into命令 | |
步进 | F8 |
右键菜单的Step Over | |
Run主菜单的Step Over命令 | |
运行到断点 | 设置断点并按正常方式运行 |
暂停程序执行 | Run主菜单的Program Pause命令 |
“跟踪”和“步进”都是一种单步执行方式,但“步”的含义不同。对“跟踪”而言它一次执行一条简单程序语句,当碰到包含调试信息的函数或过程调用时则跳入该函数或过程,并执行其第一条可执行语句。对“步进”而言,它一次执行一条当前模块的可执行语句,而不管该语句是否是函数或过程调用。
“运行到光标位置”和“运行到断点”都是程序正常运行到某一确定的源代码位置,而后进入调试状态。但相对于“运行到光标位置”而言,“运行到断点”更为灵活。因为断点一次可设置多个,同时也可以对断点设置一定的条件,只有满足该条件程序运行才会中止。
转载地址: