180 likes | 389 Views
本章主要任务: 1 .熟悉 VB 的系统调试工具。 2 .掌握程序调试的基本方法。 3 .熟悉制作安装程序和发布应用程序的基本步骤。. 第 14 章 程序调试与程序发布. 14.1 VB 6.0 系统调试工具. 1 .自动语法检测 在代码窗口输入一句有语法错误的语句时, VB 会立即显示出错信息,并以红色字体显示. 14.1 VB 6.0 系统调试工具. 2 .调试菜单和调试工具栏 通过 VB 的 “ 调试 ” 菜单,可以执行设置断点、插入监视表达式、跟踪程序执行等操作。
E N D
本章主要任务: 1.熟悉VB的系统调试工具。 2.掌握程序调试的基本方法。 3.熟悉制作安装程序和发布应用程序的基本步骤。 第14章 程序调试与程序发布
14.1 VB 6.0系统调试工具 • 1.自动语法检测 • 在代码窗口输入一句有语法错误的语句时,VB会立即显示出错信息,并以红色字体显示
14.1 VB 6.0系统调试工具 • 2.调试菜单和调试工具栏 • 通过VB的“调试”菜单,可以执行设置断点、插入监视表达式、跟踪程序执行等操作。 • 通过“视图”菜单的“工具栏”子菜单中的“调试”命令,可以打开 “调试”工具栏,进行程序调试。
14.1 VB 6.0系统调试工具 • 3.调试窗口 • (1)本地窗口 • 本地窗口只显示当前过程中所有变量的值,当程序的执行从一个过程切换到另一个过程时,本地窗口的内容也会发生变化。
14.1 VB 6.0系统调试工具 • (2)立即窗口 • 可以在代码中利用Debug.Print方法在立即窗口中输出相关内容,也可以在立即窗口中使用Print语句或“?”显示相关结果。
14.1 VB 6.0系统调试工具 • (3)监视窗口 • 如果在设计阶段添加了监视表达式,则在运行时可在监视窗口中根据所设置的监视类型进行相应的显示。
14.2 常见错误类型 1.编译错误 由于违反了VB的有关语法规则而产生的错误称为编译错误。系统会在以下两种情况下进行编译错误检查: (1)编辑代码时 当用户编辑代码时,VB会直接对程序进行语法检查。 (2)启动程序后 当用户单击“启动”按钮或执行“运行”菜单中的“启动”命令后,在运行程序前,VB会对程序进行编译并检查语法错误。 常见的编译错误有:关键字拼写错误、对象名写错、变量名写错、必须配对的关键字没有成对出现等。
14.2 常见错误类型 2.运行错误 程序在编译通过后,运行代码时所发生的错误称为运行错误,也称实时错误。这类错误一般是由于代码试图执行一个无法完成的操作时引起的,如类型不匹配、除数为0、下标越界等。
14.2 常见错误类型 3.逻辑错误 程序编译通过,运行时也未提示出错,但却得不到正确的结果,这表明程序中存在逻辑错误。逻辑错误是最难调试的一类错误,这主要由于其产生原因比较复杂,可能是运算使用不当、语句次序不对、循环变量的初值或循环条件设置不合适等原因。
14.3 调试和排错方法 14.3.1 VB的3种工作模式 1.设计模式 在该模式下,可以进行程序的界面设计和代码编写。执行“运行”菜单下的“启动”命令或单击“标准”工具栏上的“启动”按钮,将进入运行模式。 2.运行模式 在该模式下,程序处于运行状态,用户可以查看代码,但不能修改。如果要修改代码,可以执行“运行”菜单下的“结束”命令或单击“标准”工具栏上的“结束”按钮,进入设计模式进行修改。如果要调试程序,可以执行“运行”菜单下的“中断”命令或单击“标准”工具栏上的“中断”按钮,进入中断模式。 3.中断模式 在该模式下,程序处于挂起状态,用户可以查看代码和修改代码,并能够使用各种调试工具进行程序调试。执行“运行”菜单下的“继续”命令或单击“标准”工具栏上的“继续”按钮,将进入运行模式。执行“运行”菜单下的“结束”命令或单击“标准”工具栏上的“结束”按钮,进入设计模式。
14.3 调试和排错方法 • 14.3.2断点 • 通常通过设置断点的方法来中断程序运行,然后再逐语句跟踪检查相关变量、属性和表达式的值是否在预期范围内。 • 在任何模式下均可设置断点,具体方法为:在代码窗口中将光标移到怀疑可能存在逻辑错误的语句(或其附近),执行“调试”菜单中的“切换断点”命令或按F9键,则在该语句处设置了断点 • 当程序运行至此将进入中断模式(该断点语句还未被执行)。
14.3 调试和排错方法 • 14.3.3监视 • 在中断模式下,可以使用以下几种方法观察某个变量的值: • (1)将鼠标指向代码窗口中某个变量并稍候片刻,则自动显示出该变量当前的值。 • (2)在代码窗口中选择某个变量或表达式,执行“调试”菜单中的“快速监视”命令,即在“快速监视”对话框中显示该变量或表达式当前的值 • (3)执行“视图”菜单中的“本地窗口”命令,则自动显示当前过程中所有变量的值 • (4)执行“调试”菜单中的“添加监视”命令,在 “添加监视”对话框中加入要观察的变量或表达式。执行“视图”菜单中的“监视窗口”命令,则显示当前被监视变量或表达式的值 • (5)在立即窗口中,通过Print语句或“?”命令显示变量或表达式的值。 • (6)在程序中通过Debug.Print方法在立即窗口中输出变量或表达式的值
14.3 调试和排错方法 • 14.3.4跟踪 • 1.逐语句执行 • 逐语句执行又称单步执行,即每次只执行一条语句。在设计或中断模式下,执行“调试”菜单中的“逐语句”命令即进入单步执行状态。 • 2.逐过程执行 • 逐过程执行是每次执行一个过程或函数,一般在确认某些过程不存在错误时选用此调试方法。在设计或中断模式下,执行“调试”菜单中的“逐过程”命令或按Shift+F8键即进入逐过程执行状态。 • 3.跳跃执行 • 跳跃执行可以十分方便地将当前过程中的剩余语句执行完毕。在设计或中断模式下,执行“调试”菜单中的“跳出”命令或按Ctrl+Shift+F8键即进入跳跃执行状态。
14.4 出错处理 错误处理的基本步骤为:首先设置错误陷井来捕获错误,发生错误时进入预先编好的错误处理程序,错误处理完毕后退出处理程序。 1.设置错误陷井 使用VB的On Error语句可以启动一个错误处理程序并指定该子程序在一个过程中的位置,也可用来禁止一个错误处理程序。On Error语句的语法格式为: (1)On Error GoTo 行标签或行号 (2)On Error Resume Next (3)On Error GoTo 0 2.编写错误处理程序 一个错误处理程序不是一个Sub过程或Function过程,它是一段用行标签或行号标记的代码。 在编写错误处理程序时,经常使用系统对象Err,该对象含有关于运行错误的信息。当发生运行错误时,Err对象的相关属性被填入用于识别和处理这个错误所使用的信息。
14.4 出错处理 3.退出错误处理程序 在错误处理程序中,当遇到Exit Sub、Exit Function、End Sub、End Function等语句时,将退出错误处理。 在错误处理程序结束后,可用Resume语句恢复原有的运行,其语法格式如下: (1)Resume 如果错误和错误处理程序出现在同一个过程中,则从产生错误的语句恢复运行。如果错误出现在被调用的过程中,则从最近一次调用包含错误处理程序的过程的语句处恢复运行。 (2)Resume Next 如果错误和错误处理程序出现在同一个程序中,则从紧随产生错误的语句的下一条语句恢复运行。如果错误发生在被调用的过程中,则找到最后一次调用包含错误处理程序的过程的语句(或On Error Resume Next语句),从紧随该语句之后的语句处恢复运行 (3)Resume行标签或行号 在行标签或行号所在行处恢复运行。行标签或行号必须与错误处理程序处于同一过程。
14.5 制作安装盘及应用程序发布 14.5.1生成可执行文件 (1)执行“文件”菜单中的“生成工程名.exe”命令 (2)单击“生成工程”对话框中的“选项”按钮,在 “工程属性”对话框的“生成”选项卡中设置所生成可执行文件的版本号、标题、图标等信息。 (3)单击“工程属性”对话框的“确定”按钮,关闭该对话框,再在“生成工程”对话框中单击“确定”按钮,编译和连接生成可执行文件。 14.5.2制作安装盘 1.启动打包和展开向导 2.打开应用程序 3.展开应用程序
本章小结 程序调试的基本方法是跟踪和监视,跟踪程序的执行流程,看是否与预期流程一致;监视变量或表达式的值,看是否与预期的变化情况相符。为提高程序的调试效率,通常在调试程序之前,应当对程序的结构有充分的了解,对程序的运行情况有一个大体的规划,确定程序的执行流程和预期的数据结果等。此外,作为一个好的程序员,应当力求使用一种良好的编程风格,例如: (1)尽量采用结构化和模块化的程序设计方法。 (2)在程序中增加必要的注释,以便将来阅读和改进。 (3)对变量要“先定义,后使用”,并尽量采用一种有意义的命名规则。
本章作业 教材: Pg.