[英]Visual Studio 2008/2010 SP1, how to jump back out of a catch?
我正在使用调试器(vs2008)。
一旦我进入了catch语句,我想知道是否有任何方法可以将执行光标设置回try的开头。
只是拖动它似乎没有用,我需要改变一些设置吗?
例:
try
{
//Want the cursor back here
}
catch
{
//some code, cursor is here...
}
显然,它取决于您使用的.NET运行时的风格。 在我第一次写这篇文章的时候,当我尝试它时,它对我来说很好,但我正在使用我的工作PC,安装了32位操作系统。
我正在使用此代码段来测试:
try
{
throw new Exception();
}
catch
{
Console.WriteLine("Error"); // Breakpoint here
}
您不能将光标设置在try
行上。 它将在紧随其后的行上(块语句的打开)。
当我编译x86的.NET程序时,将光标拖动到该行或try
行对我来说很好。 如果您运行的是32位操作系统,它也可以工作。 但是,当您在64位环境中并为任何CPU或x64编译时,您将收到以下错误消息:
由于这仅用于调试目的,因此可能的解决方法是为x86编译,因此将使用32位运行时。 转到“ 生成”菜单,然后选择“ 配置管理器” 在Platform下 ,选择x86或New ...如果它当前不在列表中。 在后一种情况下,您将获得一个新对话框。 选择如下所示的选项,然后单击“确定”:
如果我右键单击并执行“set next statement”,则会出现以下错误对话框:
无法将下一个语句设置为此位置。 尝试解除callstack失败。
在以下情况下无法展开:
- 通过即时调试启动调试。
- 放松正在进行中。
- 抛出了System.StackOverflowException或System.Threading.ThreadAbortException异常。
通过消除你不能移动光标的原因(与设置下一个语句相同)必须是#2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.