运行应用程序的选定部分

如果能够识别产生错误的语句,那么单个断点就有助于对问题定位。但更常见的情况是只知道产生错误的代码的大体区域。断点有助于将问题区域进行隔离。然后用跟踪和单步执行来观察每个语句的效果。如果有必要,还可在一条新行上开始执行,从而跳过几条语句或倒退回去。

单步执行模式 描述
跟踪 执行当前语句并在下一行处中断执行,即使它处在另一个过程中亦如此。
单步 执行当前行调用的整个过程,并在当前行之后的一行处中断。
单步出 执行当前过程的其余部分,并在调用该过程的语句之后的一条语句处中断。

注意 必须在中断模式下使用这些命令。在设计时或运行时它们都是不可用的。

使用跟踪

可用跟踪来一次一条语句地执行代码。(这也被称为单步执行。)在单步通过每条语句之后,可以通过查看应用程序的窗体或调试窗口来看它的效果。

要单步执行代码,请

当单步执行整个代码时,Visual Basic 暂时切换到运行时来执行当前语句,并前进到下一条语句。然后又回过头来切换到中断模式。

注意 Visual Basic 允许分别跟踪一些语句,即使它们处在同一行内。一行代码可包含两条或更多语句,其间用冒号 (:) 隔开。Visual Basic 用一个矩形轮廓将要执行的下一条语句醒目标出。断点只应用于多语句行的第一条语句。

使用单步

除了当前语句包含过程调用的情况外,在其它时刻,单步与跟踪是相同的。它们之间的差别是,跟踪将进入到被调用的过程里面,而单步则把被调用过程当成单元来执行,然后到达当前过程的下一条语句。例如,假定一条语句调用了过程 SetAlarmTime:

SetAlarmTime 11, 30, 0

如果选择跟踪,那么“代码”窗口将显示 SetAlarmTime 过程,并把过程的开始语句行设置为当前语句。只有在需要分析 SetAlarmTime 的内部代码时,这才是最佳选择。

如果使用单步,则“代码”窗口继续显示当前过程。调用 SetAlarmTime 之后就立即执行语句,除非 SetAlarmTime 包含断点或 Stop 语句。如果要停留在同级别代码上,而且不需要分析 SetAlarmTime 过程,则选择单步。

可在跟踪和单步之间随意选择。使用什么命令,这取决于在任何已知时刻要分析代码的哪个部分。

要使用单步,请

使用单步出

除了要运行当前过程的其余代码外,单步出与单步大同小异。如果过程被另一个过程调用,则前者立即到达紧跟在调用该过程的语句之后的语句处。

要使用单步出,请

绕过部分代码

当应用程序处在中断模式时,可用“运行到光标处”命令在代码的后部选择想要停止运行的语句。因此可以略过不感兴趣的那部分代码,比如巨大的循环。

要运行到光标处,请按照以下步骤执行:

  1. 把应用程序设置为中断模式。

  2. 把光标设置在需要停止运行的地方。

  3. 按下 CTRL+F8。

    -或-

    选择“调试”菜单的“运行到光标处”命令。

设置下一条要执行的语句

在调试或试验应用程序时,可以使用“设置下一条语句”命令跳过部分代码──例如,包含已知错误的某部分代码──从而可继续跟踪其它问题。也可返回到前面的语句处,用不同的属性或变量的值测试应用程序的某部分。

可用 Visual Basic 设置不同的代码行来执行下一行,只要这行代码也在同一过程中。此时达到的效果与使用跟踪时相同,只是跟踪仅执行过程的下一行代码。通过设置下一条执行语句,可以选择下一次将执行哪行代码。

要设置下一条执行语句,请按照以下步骤执行:

  1. 在中断模式下,把插入点(光标) 移到下一次要执行的代码行处。

  2. 选择“调试”菜单的“设置下一条语句”。

  3. 选择“运行”菜单中的“继续”来恢复执行。

     -或-

    选择“调试”菜单的“运行到光标处”、“单步入”、“单步”或“逐过程”。

显示下一条要执行的语句

可用“显示下一条语句”把光标设置到下一个要执行的行。如果已经执行错误处理程序中的代码,但不能肯定要在哪儿恢复运行,则本功能极为方便。“显示下一条语句”只在中断模式下使用。

要显示下一个将要执行的语句,请按照以下步骤执行:

  1. 当处于中断模式时,选择“调试”菜单的“显示下一条语句”。

  2. 选择“运行”菜单的“继续”来恢复执行。

     -或-

    选择“调试”菜单的“运行到光标处”、“单步入”、“单步”或“逐过程”。