2011-11-07 71 views
4

在C#中,VS 2010有沒有一個鍵盤快捷鍵,可以查看調試時從哪裏點擊了斷點?例如,如果我在一個名爲myMethod()的方法中有一個斷點,並且它被命中,如何從它被調用的哪一行看到?VS 2010調試 - 從哪裏調用該方法?

+0

靜態地,即沒有調試,Resharper 6有很好的選項來準確地顯示呼叫可以發起的地方。 IIRC VS2010本來應該有類似的功能,但現在我不能說,因爲我在VS2008上 – sehe

回答

8

你可以看看「調用棧」。在VS中進入Debug> Windows> Call Stack。 在調試模式下,調用堆棧將顯示調用哪些方法以達到您的中斷點。

3

如果你打開了Call Stack window,你可以看到方法調用的鏈條通往當前行。

如果您有Visual Studio的一個更好的版本,您也可以看看Debugger Canvas

1

你可以看看調用堆棧,它會告訴你方法調用來自哪裏,當你的應用程序正在運行或者按下Ctrl + D,C時,可以打開Debug => Windows菜單選項打開它。

1

您是否在尋找整個調用堆棧?

在這種情況下,當您的斷點被擊中時,您可以嘗試下列操作: - 在調試菜單上,選擇Windows,然後單擊調用堆棧。

1

在簡單情況下,「調用堆棧」窗口將顯示此信息。

如果編譯器使用tail調用優化或方法內聯,它可能會給出意想不到的結果。但是這在調試時不應該發生,因爲(默認情況下)會禁用這些優化。

yield -iterators和async方法顯示它們從何處恢復,而不是它們最初被調用的位置。