如何:设置下一语句

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

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

标准版

主题适用 主题适用

主题适用

主题适用

专业团队版

主题适用 主题适用

主题适用

主题适用

表格图例:

主题适用

适用

主题不适用

不适用

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

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

此项功能不适用于 T-SQL 调试。

在 Visual Studio 调试器中,可以移动执行点来设置要执行的下一条代码语句。源窗口或“反汇编”窗口的空白区域中的黄色箭头标记要执行的下一条语句的位置。通过移动此箭头,可以跳过部分代码或返回到以前执行过的行。在某些情况下可以使用此方法,例如,跳过包含已知 bug 的代码段。

警告设置下一条语句将导致程序计数器直接跳到新位置。使用此命令时要小心:

  • 不执行旧执行点和新执行点之间的指令。

  • 如果向后移动执行点,则不撤消插入的指令。

  • 将下一条语句移动到另一个函数或范围通常会导致调用堆栈损坏,导致一个运行时错误或异常。如果试图将下一条语句移动到另一个范围,则调试器将打开一个含有警告的对话框,并提供一个取消该操作的机会。在 Visual Basic 中,不能将下一条语句移动到另一个范围或函数。

  • 在本机 C++ 中,如果已启用运行时检查,则设置下一条语句会导致执行到达方法的结尾时引发异常。

  • 当启用“编辑并继续”时,如果您做出了“编辑并继续”无法立即重新映射的编辑,则“设置下一语句”将失败。例如,如果您编辑了 catch 块中的代码,将发生这种情况。发生这种情况时,您将看到类似于以下内容的错误消息:“Unable to set the next statement to this location. Operation not supported. Unknown error:错误号”

注意 在托管代码中,在以下情况下不能移动下一条语句:

  • 下一条语句与当前语句不在同一个方法中。

  • 通过实时调试启动调试。

  • 正在展开一个调用堆栈。

  • 已引发一个 System.StackOverflowException 或 System.Threading.ThreadAbortException 异常。

应用程序处于活动运行状态时不能设置下一条语句。要设置下一语句,调试器必须处于中断模式。有关更多信息,请参见中断执行

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

设置要执行的下一语句

  • 在源窗口中,单击黄色箭头,要将下一条语句设置到哪个位置,就将箭头拖到该位置,该位置应在同一源文件中,或者

  • 在源窗口中,右击要执行的下一条语句,然后从快捷菜单中选择“设置下一语句”。

  • 在“反汇编”窗口中,右击要执行的下一条汇编语言指令,然后从快捷菜单中选择“设置下一语句”。

请参见

概念

执行控制