記憶體視窗
這個主題適用於:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro、Premium 和 Ultimate |
[記憶體] 視窗可讓您檢視應用程式所使用的記憶體空間。 [監看式] 視窗、[快速監看式] 對話方塊、[自動變數] 視窗和 [區域變數] 視窗會顯示儲存於特定記憶體位置的變數的內容。 但是 [記憶體] 視窗則會顯示整體概觀。 這類檢視對於檢查無法適當地顯示在其他視窗的大批資料 (例如,緩衝區或很大的字串) 來說極為方便。 不過,[記憶體] 視窗的功能並不只侷限於顯示資料。 它還會顯示記憶體空間內的所有內容,不管這些內容是資料、程式碼,或是未指派之記憶體內的無意義資料。
只有在透過 [選項] 對話方塊中的 [偵錯] 節點啟用位址層級偵錯時,才可以使用 [記憶體] 視窗。 [記憶體] 視窗無法用於指令碼或 SQL,這些語言都無法沒有記憶體的概念。
開啟記憶體視窗
若要開啟記憶體視窗
如果目前不在偵錯模式下,請啟動偵錯。
在 [偵錯] 功能表中,指向 [視窗]。 接著指向 [記憶體 ],再按一下 [記憶體 1]、[記憶體 2]、[記憶體 3] 或 [記憶體 4] (較低階版本的 Visual Studio 只有一個 [記憶體] 視窗。 如果您使用這其中一個版本,請直接按一下 [記憶體])。
記憶體視窗中的分頁
[記憶體] 視窗的垂直捲軸不是以標準方式操作。 現代電腦的位址空間很大,如果您抓住捲軸方塊並將它拖曳到隨機位置,很容易就會迷失。 因此,捲動方塊採「彈簧式設計」,永遠維持在捲軸的中央。 在機器碼應用程式中,您可以向上或向下翻頁,但不能自由捲動。
較高的記憶體位址會出現在視窗底部。 若要檢視較高的位址,請向下捲動而非向上捲動。
若要在記憶體中向上或向下翻頁
若要向下翻頁 (移至較高的記憶體位址),請按一下垂直捲軸中捲動方塊的下方某處。
若要向上翻頁 (移至較低的記憶體位址),請按一下垂直捲軸中捲動方塊的上方某處。
選取記憶體位置
如果您想要立即移到選取的記憶體位置,可以使用拖放作業或在 [位址] 方塊中編輯此值。 [位址] 方塊不僅會接受數值,同時也會接受評估為位址的運算式。 根據預設,[記憶體] 視窗會把 [位址] 運算式當做是一個現場運算式,會在程式執行時重新評估。 現場運算式非常有用。 例如,您可使用它們來檢視指標所碰觸的記憶體。
若要透過拖放方式來選取記憶體位置
在任何視窗中選取記憶體位址或含記憶體位址的指標變數。
將位址或指標拖曳到 [記憶體] 視窗。
若要使用編輯方式來選取記憶體位置
請在 [記憶體] 視窗中選取 [位址] 方塊。
輸入或貼上您要查看的位址,然後按 ENTER。
變更記憶體視窗顯示資訊的方式
您可以自訂 [記憶體] 視窗顯示記憶體內容的方式。 根據預設,記憶體內容會在十六進位格式中以一位元組整數資料型別出現,而且欄位數會自動依據目前視窗寬度來決定。
若要變更記憶體內容格式
在 [記憶體] 視窗上按一下滑鼠右鍵。
選擇您要的格式。
若要變更記憶體視窗中的欄位數
請在 [記憶體] 視窗頂端的工具列中找出 [欄] 清單。
在 [欄] 清單中選取想要顯示的欄數,或選取 [自動] 表示根據視窗寬度自動調整。
如果不希望 [記憶體] 視窗內容在程式執行時進行變更,您可以關閉實況運算式評估。
若要切換實況評估
在 [記憶體] 視窗上按一下滑鼠右鍵。
在捷徑功能表上按一下 [自動重新評估]。
如果開啟實況評估,則會選取這個選項,您只要再按一下該選項即可關閉實況評估。 如果關閉實況評估,則不會選取這個選項,您只要再按一下該選項即可開啟實況評估。
您可以在 [記憶體] 視窗的頂端隱藏或顯示工具列。 隱藏工具列時,您無法存取 [位址] 方塊或其他工具。
若要切換工具列
在 [記憶體] 視窗上按一下滑鼠右鍵。
按一下捷徑功能表上的 [顯示工具列]。
工具列會不會出現,需視先前的狀態而定。
隨著指標變動記憶體位置
您也可以在機器碼應用程式中,將暫存器名稱當成機動性的運算式。 例如,您可使用堆疊指標隨著堆疊而變動位置。
若要隨著記憶體變動指標
在 [記憶體] 視窗的 [位址] 方塊中輸入指標運算式。 指標變數必須在目前的範圍內。 有時您可能會需要取值 (Dereference),視語言而定。
按 ENTER。
現在,當您使用 [逐步執行] 這類的命令時,顯示的記憶體位址會自動隨著指標變動而變動。