Visual Basic 中的 Stop 语句

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题适用 主题不适用 主题不适用 主题适用

标准版

主题适用 主题不适用 主题不适用 主题适用

专业团队版

主题适用 主题不适用 主题不适用 主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

Visual Basic Stop 语句提供了一种以编程方式设置断点的替换方法。当调试器遇到 Stop 语句时,它将中断程序的执行(进入中断模式)。C# 程序员可通过调用 System.Diagnostics.Debugger.Break 达到同样的效果。

通过编辑源代码来设置或移除 Stop 语句。不能使用调试器命令设置或清除 Stop 语句,而对于断点却可以使用调试器命令。

不同于 End 语句,Stop 语句不重置变量或返回设计模式。可以从“调试”菜单中选择“继续”继续运行应用程序。

当在调试器外部运行 Visual Basic 应用程序时,如果启用了实时调试,Stop 语句将启动调试器。如果没有启用实时调试,Stop 语句的行为如同 End 语句,终止执行。没有发生 QueryUnload 或 Unload 事件,因此必须从 Visual Basic 应用程序的发布版本中移除所有的 Stop 语句。有关更多信息,请参见实时调试

若要避免移除 Stop 语句,可以使用条件编译:

#If DEBUG Then
   Stop
#Else
   ' Don't stop
#End If

另一种方法是使用 Assert 语句,而不使用 Stop 语句。Debug.Assert 语句只有在没有满足指定条件时才中断执行,并且当生成发布版本时该语句被自动移除。有关更多信息,请参见托管代码中的断言。如果想让 Assert 语句总是在调试版本中中断执行,可以这样做:

Debug.Assert(false)

还有一种方法是使用 Debug.Fail 方法:

Debug.Fail("a clever output string goes here")

请参见

概念

调试器安全

其他资源

调试准备:C# 和 Visual Basic 项目类型

调试托管代码