共用方式為


記憶體視窗

這個主題適用於:

版本

Visual Basic

C#

F#

C++

Web Developer

Express

標題不適用於 標題不適用於 標題不適用於 標題不適用於 標題不適用於

Pro、Premium 和 Ultimate

標題適用於

標題適用於

標題適用於

標題適用於

標題適用於

[記憶體] 視窗可讓您檢視應用程式所使用的記憶體空間。 [監看式] 視窗、[快速監看式] 對話方塊、[自動變數] 視窗和 [區域變數] 視窗會顯示儲存於特定記憶體位置的變數的內容。 但是 [記憶體] 視窗則會顯示整體概觀。 這類檢視對於檢查無法適當地顯示在其他視窗的大批資料 (例如,緩衝區或很大的字串) 來說極為方便。 不過,[記憶體] 視窗的功能並不只侷限於顯示資料。 它還會顯示記憶體空間內的所有內容,不管這些內容是資料、程式碼,或是未指派之記憶體內的無意義資料。

只有在透過 [選項] 對話方塊中的 [偵錯] 節點啟用位址層級偵錯時,才可以使用 [記憶體] 視窗。 [記憶體] 視窗無法用於指令碼或 SQL,這些語言都無法沒有記憶體的概念。

開啟記憶體視窗

若要開啟記憶體視窗

  1. 如果目前不在偵錯模式下,請啟動偵錯。

  2. 在 [偵錯] 功能表中,指向 [視窗]。 接著指向 [記憶體 ],再按一下 [記憶體 1]、[記憶體 2]、[記憶體 3] 或 [記憶體 4] (較低階版本的 Visual Studio 只有一個 [記憶體] 視窗。 如果您使用這其中一個版本,請直接按一下 [記憶體])。

記憶體視窗中的分頁

[記憶體] 視窗的垂直捲軸不是以標準方式操作。 現代電腦的位址空間很大,如果您抓住捲軸方塊並將它拖曳到隨機位置,很容易就會迷失。 因此,捲動方塊採「彈簧式設計」,永遠維持在捲軸的中央。 在機器碼應用程式中,您可以向上或向下翻頁,但不能自由捲動。

較高的記憶體位址會出現在視窗底部。 若要檢視較高的位址,請向下捲動而非向上捲動。

若要在記憶體中向上或向下翻頁

  1. 若要向下翻頁 (移至較高的記憶體位址),請按一下垂直捲軸中捲動方塊的下方某處。

  2. 若要向上翻頁 (移至較低的記憶體位址),請按一下垂直捲軸中捲動方塊的上方某處。

選取記憶體位置

如果您想要立即移到選取的記憶體位置,可以使用拖放作業或在 [位址] 方塊中編輯此值。 [位址] 方塊不僅會接受數值,同時也會接受評估為位址的運算式。 根據預設,[記憶體] 視窗會把 [位址] 運算式當做是一個現場運算式,會在程式執行時重新評估。 現場運算式非常有用。 例如,您可使用它們來檢視指標所碰觸的記憶體。

若要透過拖放方式來選取記憶體位置

  1. 在任何視窗中選取記憶體位址或含記憶體位址的指標變數。

  2. 將位址或指標拖曳到 [記憶體] 視窗。

若要使用編輯方式來選取記憶體位置

  1. 請在 [記憶體] 視窗中選取 [位址] 方塊。

  2. 輸入或貼上您要查看的位址,然後按 ENTER

變更記憶體視窗顯示資訊的方式

您可以自訂 [記憶體] 視窗顯示記憶體內容的方式。 根據預設,記憶體內容會在十六進位格式中以一位元組整數資料型別出現,而且欄位數會自動依據目前視窗寬度來決定。

若要變更記憶體內容格式

  1. 在 [記憶體] 視窗上按一下滑鼠右鍵。

  2. 選擇您要的格式。

若要變更記憶體視窗中的欄位數

  1. 請在 [記憶體] 視窗頂端的工具列中找出 [] 清單。

  2. 在 [] 清單中選取想要顯示的欄數,或選取 [自動] 表示根據視窗寬度自動調整。

如果不希望 [記憶體] 視窗內容在程式執行時進行變更,您可以關閉實況運算式評估。

若要切換實況評估

  1. 在 [記憶體] 視窗上按一下滑鼠右鍵。

  2. 在捷徑功能表上按一下 [自動重新評估]。

    如果開啟實況評估,則會選取這個選項,您只要再按一下該選項即可關閉實況評估。 如果關閉實況評估,則不會選取這個選項,您只要再按一下該選項即可開啟實況評估。

您可以在 [記憶體] 視窗的頂端隱藏或顯示工具列。 隱藏工具列時,您無法存取 [位址] 方塊或其他工具。

若要切換工具列

  1. 在 [記憶體] 視窗上按一下滑鼠右鍵。

  2. 按一下捷徑功能表上的 [顯示工具列]。

    工具列會不會出現,需視先前的狀態而定。

隨著指標變動記憶體位置

您也可以在機器碼應用程式中,將暫存器名稱當成機動性的運算式。 例如,您可使用堆疊指標隨著堆疊而變動位置。

若要隨著記憶體變動指標

  1. 在 [記憶體] 視窗的 [位址] 方塊中輸入指標運算式。 指標變數必須在目前的範圍內。 有時您可能會需要取值 (Dereference),視語言而定。

  2. ENTER

    現在,當您使用 [逐步執行] 這類的命令時,顯示的記憶體位址會自動隨著指標變動而變動。

請參閱

概念

在偵錯工具中檢視資料