1. 程式人生 > >如何:使用“呼叫堆疊”視窗

如何:使用“呼叫堆疊”視窗

使用“呼叫堆疊”視窗可以檢視當前堆疊上的函式或過程呼叫。

“呼叫堆疊”視窗顯示每個函式的名稱和編寫它所用的程式語言。函式或過程名可能伴隨有可選資訊,如模組名、行號、位元組偏移量以及引數的名稱、型別和值。可以開啟或關閉這些可選資訊的顯示。

一個黃色箭頭標識執行指標當前所位於的堆疊幀。預設情況下,該幀的資訊顯示在源、“反彙編”、“區域性變數”、“監視”和“自動”視窗中。如果想將上下文更改為堆疊上的另一個幀,可以在“呼叫堆疊”視窗中執行相應的操作。

當除錯符號對部分呼叫堆疊不可用時,“呼叫堆疊”視窗也許就不能顯示那部分堆疊的正確資訊。將出現以下表示法:

[下面的幀可能不正確和/或缺失,沒有為 name.dll 載入符號]

在託管程式碼中,“呼叫堆疊”視窗預設情況下隱藏非使用者程式碼的資訊。在隱藏資訊處出現以下表示法:

[<外部程式碼>]

非使用者程式碼是指除“我的程式碼”以外的任何程式碼。有關“我的程式碼”的更多資訊,請參見如何:單步執行“僅我的程式碼”。使用快捷選單可以選擇顯示非使用者程式碼的呼叫堆疊資訊。

預設情況下,“呼叫堆疊”視窗不顯示與其他執行緒之間的相互呼叫。可以使用快捷選單選擇檢視那些呼叫。

Note注意

顯示的對話方塊和選單命令可能會與“幫助”中的描述不同,具體取決於當前設定或版本。若要更改設定,請在“工具”選單上選擇“匯入和匯出設定”。有關更多資訊,請參見 Visual Studio 設定

以中斷模式或執行模式顯示“呼叫堆疊”視窗

  • 在“除錯”選單中選擇“視窗”,然後單擊“呼叫堆疊”。

更改顯示的可選資訊

  • 右擊“呼叫堆疊”視窗,然後在快捷選單中設定或清除“顯示 <需要的資訊>”。

在“呼叫堆疊”視窗中顯示非使用者程式碼幀

  • 右擊“呼叫堆疊”視窗,然後從快捷選單中選擇“顯示外部程式碼”。

切換到另一個堆疊幀

  1. 在“呼叫堆疊”視窗中,右擊要檢視其程式碼和資料的幀。

  2. 從快捷選單中選擇“切換到幀”。

    一個帶有卷尾的綠色箭頭顯示在所選幀旁。執行指標保留在原始幀中,仍然用黃色箭頭標記。如果從“除錯”選單中選擇“單步執行”或“繼續”,執行將繼續在原始幀中進行,而不是在選定的幀中進行。

顯示與其他執行緒之間的來回呼叫

  • 右擊“呼叫堆疊”視窗,並從快捷選單中選擇“包括對其他執行緒和來自其他執行緒的呼叫”。

檢視呼叫堆疊上的函式的原始碼

  • 在“呼叫堆疊”視窗中,右擊要檢視其原始碼的函式,然後從快捷選單中選擇“轉到原始碼”。

檢視呼叫堆疊上的函式的反彙編程式碼

  • 在“呼叫堆疊”視窗中,右擊要檢視其反彙編程式碼的函式,然後從快捷選單中選擇“轉到反彙編”。

從“呼叫堆疊”視窗執行到特定函式

在函式呼叫的退出點上設定斷點

載入模組符號

  • 在“呼叫堆疊”視窗中,如果要重新載入模組的符號,則右擊顯示該模組的幀,然後從快捷選單中選擇“載入符號”。