2010-10-11 71 views
6

alt text有關Visual Studio

exeption彈出對話框的調試UI,其行實際上有/ 觸發的問題,通過綠色箭頭以上線路暗示行?

這個角落裏有沒有官方的參考資料?

UPDATE

到目前爲止,它仍似乎兩者都possible.Can人拿出一個最終的結論呢?

+0

請有人給我一個upvote,以便我可以粘貼圖像。 – justnobody 2010-10-11 04:59:11

+0

這是一個很難回答的問題。這取決於。綠色箭頭指示的是直接問題,但可能是由之前執行的代碼引起的。我懷疑這不是你正在尋找的答案。 – Rohith 2010-10-11 04:59:49

+0

我並不是說哪個**引起了**,而是哪個**引發了**,確切地說。 – justnobody 2010-10-11 05:01:31

回答

0

這裏是爲Microsoft參考鏈接的Visual Studio調試UI

Debugging UI Reference VS.Net 2008

Using the Debugger : a Roadmap

Link from the msdn Magazine說,當前堆棧幀由綠色彎尾箭頭所示(同時活性堆框架保留黃色箭頭)。

+0

雖然這似乎沒有評論。 – justnobody 2010-10-11 05:08:38

+0

是不是當前幀和活動幀是一樣的東西? – justnobody 2010-10-11 05:21:56

+0

它可以不同。查看前MVP的博客帖子http://www.danielmoth.com/Blog/Active-And-Current-Stack-Frame-And-Thread.aspx。他詳細介紹了堆棧和線程。 – 2010-10-11 05:57:30

0

我不知道是否有正式的文件聲明,但對我來說,它似乎指向觸發異常的行。

但是,如果在一些更復雜的情況下(或者如果正在調試版本構建)調試器可能會有點困惑並指向錯誤的位置,我不會感到驚訝。我想象如果這種情況發生在調試版本上,MS會認爲它是一個錯誤,如果在可重現的場景中報告,甚至可能會修復它。

+0

但是IIRC,綠色箭頭指向要執行的下一個語句**在其他情況下,尚未運行。 – justnobody 2010-10-11 05:13:38

+1

但是,如果一個語句導致了一個異常,那麼它還沒有成功運行。然而,你肯定可能是對的,我忘了一些特殊處理出於某種原因的異常。此外,還有一些設置會影響調試器向您顯示異常時的設置 - 無論是第一次拋出時還是僅在運行所有可能的處理程序後未捕獲。雖然它應該仍然在同一行上。 – 2010-10-11 05:24:07

+0

忘了提及'FlashPlayer.exe'是Adobe的產品,而不是從包含上述源代碼的項目構建的。您是否有任何其他想法? – justnobody 2010-10-11 08:36:10

1

如果你去裝配窗口,你會準確地看到代碼是什麼機器指令。如果它是在一些呼叫指令之後立即發生,則在該呼叫內發生異常。