HOW TO:使用呼叫堆疊視窗
您可以使用 [呼叫堆疊] 視窗來檢視目前堆疊上的函式或程序呼叫。
[呼叫堆疊] 視窗會顯示每一個函式的名稱,以及撰寫函式時所使用的程式設計語言。 函式或程序名稱可能還會伴隨選擇性資訊,例如模組名稱、行號、位元組位移、參數名稱、型別和值。 您可以選擇開啟或關閉這個選擇性資訊。
執行指標目前所在的堆疊框架位置會以黃色箭頭識別。 根據預設,這就是資訊會顯示在來源、[反組譯碼]、[區域變數]、[監看式] 和 [自動變數] 視窗中的框架。 如果您想要將內容變更至堆疊上的其他框架,可以在 [呼叫堆疊] 視窗中進行這個動作。
當部分呼叫堆疊無法使用偵錯符號時,[呼叫堆疊] 視窗就無法顯示該部分呼叫堆疊的正確資訊。 就會出現下列標記法:
[下面的框架可能錯誤及/或遺失,未載入 name.dll 的符號]
根據預設,在 Managed 程式碼中, [呼叫堆疊] 視窗會隱藏非使用者程式碼的資訊。 會出現下列標記法,而不是隱藏的資訊:
[<External Code>]
非使用者程式碼是不屬於 "My Code" 的任何程式碼。如需 "My Code" 的詳細資訊,請參閱 [NIB] 12/13 如何:逐步執行 Just My Code。 您可以使用捷徑功能表選擇顯示非使用者程式碼的呼叫堆疊資訊。
您可以使用捷徑功能表選擇是否要檢視執行緒之間的呼叫。
注意事項 |
---|
根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。若要變更設定,請選取 [工具] 功能表上的 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
在中斷模式或執行模式中顯示呼叫堆疊視窗
- 在 [偵錯] 功能表上,選取 [視窗],然後按一下 [呼叫堆疊]。
若要變更所顯示的選擇性資訊
- 以滑鼠右鍵按一下 [呼叫堆疊] 視窗,並設定或清除 [顯示<您想要的資訊>]。
若要在呼叫堆疊視窗中顯示非使用者程式碼框架
- 以滑鼠右鍵按一下 [呼叫堆疊] 視窗,然後選取 [顯示外部程式碼]。
若要切換到另一個堆疊框架
在 [呼叫堆疊] 視窗中,以滑鼠右鍵按一下想要檢視之程式碼和資料的框架。
選取 [切換至框架]。
在您選取的框架旁邊會出現尾端彎曲的綠色箭號。 執行指標會留在原來的框架中,並仍以黃色箭頭標示。 如果您從 [偵錯] 功能表中選取 [逐步執行] 或 [繼續],則會從原本的框架而非選取的框架繼續執行。
若要顯示與另一個執行緒之間的往來呼叫
- 以滑鼠右鍵按一下 [呼叫堆疊] 視窗,然後選取 [包含至/從其他執行緒的呼叫]。
若要檢視呼叫堆疊上的函式的原始程式碼
- 在 [呼叫堆疊] 視窗,以滑鼠右鍵按一下您要查看原始程式碼的函式,然後選取 [移至原始程式碼]。
若要檢視呼叫堆疊上的函式的反組譯程式碼
- 在 [呼叫堆疊] 視窗中,以滑鼠右鍵按一下您要查看反組譯程式碼的函式,然後選取 [移至反組譯碼]。
若要從 [呼叫堆疊] 視窗執行至特定函式
- 請參閱執行至指定的函式。
若要在函式呼叫的結束點設定中斷點
- 如需詳細資訊,請參閱 HOW TO:從呼叫堆疊視窗在函式呼叫上設定中斷點
若要載入模組的符號
- 在 [呼叫堆疊] 視窗中,以滑鼠右鍵按一下顯示您要重新載入符號之模組的框架,然後選取 [載入符號]。
載入符號
在 [呼叫堆疊] 視窗中,您可以載入目前尚未載入符號之程式碼的偵錯符號。 這些符號可能是從 Microsoft 公用符號伺服器下載的 .NET Framework 或系統符號,或是您所偵錯之電腦上符號路徑中的符號。
如需詳細資訊,請參閱 [OBSOLETE] 如何:使用符號伺服器和 [OBSOLETE] 如何:指定符號位置和載入行為。
若要載入符號
在 [呼叫堆疊] 視窗中,以滑鼠右鍵按一下未載入符號的框架。 該框架隨即變成暗灰色。
指向 [載入符號來源],然後按一下 [Microsoft 符號伺服器] 或 [符號路徑]。
若要設定符號路徑
在呼叫堆疊 ] 視窗中,選擇 符號設定從快顯功能表。
[選項] 對話方塊隨即開啟,並顯示 [符號] 頁面。
按一下 [符號設定]。
在 [選項] 對話方塊中,按一下 [資料夾] 圖示。
游標隨即出現在 [符號檔 (.pdb) 位置] 方塊中。
輸入您要偵錯之電腦上符號位置的目錄路徑名稱。 在本機偵錯中,這是您的本機電腦; 在遠端偵錯中,則是遠端電腦。
按一下 [確定] 關閉 [選項] 對話方塊。