Visual Studio 調試系列7 查看變量占用的內存(使用內存窗口)


在調試期間,“內存”窗口顯示應用程序正在使用的內存空間。

調試器窗口(如監視窗口、自動窗口、局部變量窗口和快速監視對話框)顯示變量,這些變量存儲在內存中的特定位置。“內存”窗口向您顯示整體圖片。內存視圖便於檢查在其他窗口中顯示不好的大數據塊(例如緩沖區或大字符串)。

內存窗口不限於顯示數據。它顯示內存空間中的所有內容,包括數據、代碼和未分配內存中的隨機垃圾位。

內存窗口不可用於腳本或SQL調試。這些語言不能識別內存概念。

01 打開內存窗口

要啟用內存窗口,必須在“工具>選項”(或“調試>選項”)>調試>常規中選擇“啟用地址級調試”。

打開“內存”窗口

  1. 請確保啟用地址級調試中選擇工具 > 選項(或調試 > 選項) >調試 > 常規。

  2. 開始調試通過選擇綠色箭頭,按F5,或選擇調試 > 開始調試。

  3. 下調試 > Windows > 內存,選擇內存 1,內存 2,內存 3,或內存 4。 (某些版本的Visual Studio產品/服務只有一個內存窗口。)

02 在內存窗口中移動

計算機的地址空間很大,您可以通過滾動內存窗口輕松地丟失您的位置。

較高的內存地址顯示在窗口的底部。要查看更高的地址,請向下滾動。要查看較低的地址,請向上滾動。

您可以使用拖放或在“ 地址”字段中輸入地址,立即轉到“ 內存”窗口中的指定地址。“ 地址”字段接受字母數字地址和計算地址的表達式,例如。e.User.NonroamableId

要強制立即重新評估“ 地址”字段中的表達式,請選擇“ 自動重新評估自動”圖標的圓角箭頭。

默認情況下,“ 內存”窗口將“ 地址”表達式視為實時表達式,在應用程序運行時將其重新評估。例如,實時表達式可用於查看指針變量觸及的內存。

要使用拖放移動到內存位置:

  1. 在任何調試器窗口中,選擇內存地址或包含內存地址的指針變量。

  2. 將地址或指針拖放到“ 內存”窗口中。該地址隨后出現在“ 地址”字段中,“ 內存”窗口將調整為在頂部顯示該地址。

要在“地址”字段中輸入內存位置,請移至內存位置:

  • 在“ 地址”字段中鍵入或粘貼地址或表達式,然后按Enter鍵,或從“ 地址”字段的下拉列表中選擇它。“ 內存”窗口調整為在頂部顯示該地址。

按下回車鍵,如下圖:

但是個人看不懂里面具體的內容。

03 自定義內存窗口

默認情況下,內存內容以十六進制格式顯示為1字節整數,窗口寬度決定顯示的列數。您可以自定義“ 內存”窗口顯示內存內容的方式。

要更改內存內容的格式:

  • 在“ 內存”窗口中單擊鼠標右鍵,然后從上下文菜單中選擇所需的格式。

要更改“內存”窗口中的列數:

  • 選擇“ 列”字段旁邊的下拉箭頭,然后選擇要顯示的列數,或者根據窗口寬度選擇“ 自動”進行自動調整。也可以手動輸入數字。

如果您不希望在應用程序運行時更改“ 內存”窗口的內容,則可以關閉實時表達式評估。

要切換實時評估:

  • 在“ 內存”窗口中單擊鼠標右鍵,然后在上下文菜單中選擇“ 自動重新評估”。

您可以隱藏或顯示“ 內存”窗口頂部的工具欄。隱藏工具欄時,您將無法訪問“ 地址”字段或其他工具。

要切換工具欄顯示:

  • 在“ 內存”窗口中單擊鼠標右鍵,然后在上下文菜單中選擇“ 顯示工具欄 ”。工具欄顯示或消失,具體取決於其先前的狀態。

04 跟蹤內存中的指針

在本機代碼應用程序中,您可以將注冊名稱用作實時表達式。例如,您可以使用堆棧指針跟隨堆棧。

要通過內存跟蹤指針:

  1. 在“ 內存窗口地址”字段中,輸入當前范圍內的指針表達式。根據語言的不同,您可能需要取消引用它。

  2. 按Enter鍵。

    使用諸如Step之類的調試命令時,“ 地址”字段和“ 內存”窗口頂部顯示的內存地址會隨着指針的更改而自動更改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM