[英]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.