如何:设置下一语句
更新: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 设置。 |
设置要执行的下一语句
在源窗口中,单击黄色箭头,要将下一条语句设置到哪个位置,就将箭头拖到该位置,该位置应在同一源文件中,或者
在源窗口中,右击要执行的下一条语句,然后从快捷菜单中选择“设置下一语句”。
在“反汇编”窗口中,右击要执行的下一条汇编语言指令,然后从快捷菜单中选择“设置下一语句”。