2009-02-06 49 views
7

集成vs調試器爲什麼如此...幾乎沒有功能?我看不到內存中的對象的內容。例如,我正在使用位圖,我希望在內存中看到它們。我需要更好的調試器嗎?如果是這樣,我對建議感興趣。沒有像反彙編器那麼強大,只是調試器。Visual Studio C++調試器:沒有十六進制轉儲?

+0

我花了3個小時尋找關於如何在windbg和visual studio中讀取局部變量的基本信息。我找不到任何可行的東西。我找不到任何可靠的信息來源。沒有GDB那麼好,你可以查看所有內容,而且文檔非常清晰和簡單。 – Owl 2017-01-26 16:10:59

回答

27

我從來沒有發現它「幾乎沒有功能」。當VS找不到源代碼時,VS會默認進行反彙編,並且很容易進入內存視圖。調試 - > Windows - >內存。在地址欄中輸入「this」以獲取當前對象的內存。要查看特定成員類型'& this-> member_name'。它會跳到第一個字節。

1

VS2005有一個「內存」選項卡,可以提供內存字節。我不知道如何說服它突出顯示十六進制塊,以便告訴你哪些變量是哪些變量。

1

調試| Windows |內存將讓你看看你想要的任何內存區域(受過程/訪問限制)。這是在VS2005中。其他版本的菜單結構可能略有不同。

+0

在這裏使用vs 2008。不過謝謝。 – Zombies 2009-02-06 18:35:41

+0

這在2013年是一樣的,所以我敢肯定它在2008年是一樣的 – TankorSmash 2016-12-01 04:42:02

2

調試| Windows |記憶| Memory1-4。將您想要查看的內存塊的地址放在地址中。這可能是你嘗試用鼠標執行的最困難的菜單選項(你會看到...)。在舊版本的VS中,如果你想查看變量的內容,你需要確定變量的地址,我通常使用監視窗口。

但是,在較新的版本中,您通常只需輸入變量的名稱作爲地址即可,就像在監視窗口中一樣。

0

我不知道它是否有用,但Google搜索「調試器顯示內存爲位圖」的搜索結果爲Bitmap Memory Debugger,它被設計爲與另一個調試器(如Visual Studio或WinDbg)一起使用。