如何:设置下一语句
本主题适用于:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
学习版 |
|||||
专业版、高级专业版和旗舰版 |
此项功能不适用于 Transact-SQL 调试。
在 Visual Studio 调试器中,可以移动执行点来设置要执行的下一条代码语句。 源窗口或“反汇编”窗口的空白区域中的黄色箭头标记要执行的下一条语句的位置。 通过移动此箭头,可以跳过部分代码或返回到以前执行过的行。 在某些情况下可以使用此方法,例如,跳过包含已知 bug 的代码段。
警告
设置下一条语句将导致程序计数器直接跳到新位置。 使用此命令时要小心:
不执行旧执行点和新执行点之间的指令。
如果向后移动执行点,则不撤消插入的指令。
将下一条语句移动到另一个函数或范围通常会导致调用堆栈损坏,导致一个运行时错误或异常。 如果尝试将下一条语句移动到另一个范围,则调试器将打开一个含有警告的对话框,并提供一个取消该操作的机会。 在 Visual Basic 中,不能将下一条语句移动到另一个范围或函数。
在本机 C++ 中,如果已启用运行时检查,则设置下一条语句会导致执行到达方法的结尾时引发异常。
当启用“编辑并继续”时,如果您做出了“编辑并继续”无法立即重新映射的编辑,则“设置下一语句”将失败。 例如,如果您编辑了 catch 块中的代码,将发生这种情况。 发生这种情况时,您将看到类似如下的错误消息:“无法将下一语句设置到此位置。不支持操作。未知错误: 错误号”
提示
在托管代码中,在以下情况下不能移动下一条语句:
下一条语句与当前语句不在同一个方法中。
使用实时调试启动调试。
正在展开一个调用堆栈。
已引发一个 System.StackOverflowException 或 System.Threading.ThreadAbortException 异常。
应用程序处于活动运行状态时不能设置下一条语句。 要设置下一语句,调试器必须处于中断模式。 有关更多信息,请参见中断执行。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
设置要执行的下一语句
在源窗口中,单击黄色箭头,要将下一条语句设置到哪个位置,就将箭头拖到该位置,该位置应在同一源文件中
- 或 -
在源窗口中,右击要执行的下一条语句,然后选择**“设置下一语句”**。
在**“反汇编”窗口中,右击要执行的下一条汇编语言指令,然后选择“设置下一语句”**。