Visual Basic Stop 语句提供设置断点的编程替代方法。 当调试器遇到 Stop 语句时,它会中断程序的执行(进入中断模式)。 C# 程序员可以通过调用 Debugger.Break 来实现相同的效果。
通过编辑源代码来设置或删除 Stop 语句。 不能使用调试器命令设置或清除 Stop 语句,就像断点一样。
与 End 语句不同,Stop 语句不会重置变量或返回设计模式。 可以从“调试”菜单中选择“继续”以继续运行应用程序。
在调试器外部运行 Visual Basic 应用程序时,如果启用了实时调试,Stop 语句将启动调试器。 如果未启用实时调试,Stop 语句的行为就像是 End 语句并终止执行一样。 不会发生 QueryUnload 或 Unload 事件,因此必须从 Visual Basic 应用程序的 Release 版本中删除所有 Stop 语句。 有关详细信息,请参阅 Just-In-Time 调试。
若要避免删除 Stop 语句的必要性,可以使用条件编译:
#If DEBUG Then
Stop
#Else
' Don't stop
#End If
另一种替代方法是使用 Debug.Assert 语句而不是 Stop 语句。 Debug.Assert仅当不满足指定条件时,语句才会中断执行。 Assert 生成 Release 版本时,会自动删除语句。 有关详细信息,请参阅 托管代码中的断言。 如果想要在调试版本中始终中断执行的语句,可以这样做:
另一种替代方法是使用 Debug.Fail 此方法: