2009-02-06 15 views
7

Warum ist der integrierte vs Debugger so ... kaum funktionsfähig? Ich kann den Inhalt eines Objekts im Speicher nicht sehen. Zum Beispiel arbeite ich mit Bitmaps und möchte sie im Speicher sehen. Brauche ich einen besseren Debugger dafür? Wenn das stimmt, bin ich an Empfehlungen interessiert. Nichts zu mächtig wie ein Disassembler, nur der Debugger.Visual Studio C++ - Debugger: Kein Hex-Dump?

+0

Ich habe 3 Stunden damit verbracht, nach grundlegenden Informationen zu suchen, wie man lokale Variablen in windbg und im visuellen Studio liest. Ich kann nichts finden, was funktioniert. Ich kann keine zuverlässigen Informationsquellen finden. Es ist nicht so gut wie GDB, wo Sie alles sehen können und die Dokumentation ist wirklich klar und einfach. – Owl

Antwort

27

Ich habe es nie als "kaum funktional" gefunden. VS gibt Ihnen standardmäßig Disassemblierung, wenn keine Quelle gefunden werden kann, und es ist ziemlich einfach, zur Speicheransicht zu gelangen. Debug-> Windows -> Speicher. Geben Sie "this" in das Adressfeld ein, um den Speicher Ihres aktuellen Objekts zu erhalten. Um einen bestimmten Mitgliedstyp '& this-> Mitgliedsname' anzuzeigen. Es springt direkt zum ersten Byte.

+0

Und wie schön ist es, wenn Speicher nur nicht in diesem Menü angezeigt wird, nur wenn Sie es wirklich brauchen und ja, ich habe Enable Address Level Debugging aktiviert on ... – nus

+0

Wird währenddessen ein C++ - Programm von seinem Projekt unter dem Debugger ausgeführt? Es wird nicht in Situationen angezeigt, in denen es keinen Sinn ergibt. –

1

VS2005 verfügt über eine "Speicher" Registerkarte, die Byte des Speichers geben würde. Ich weiß nicht genau, wie ich es überzeugen kann, Blöcke von hex zu markieren, um Ihnen zu sagen, welche Variablen welche sind.

1

Debug | Windows | Mit dem Speicher können Sie einen beliebigen Bereich des Speichers anzeigen (abhängig von Prozess-/Zugriffsbeschränkungen). Dies ist in VS2005. In anderen Versionen könnte die Menüstruktur etwas anders sein.

+0

Using vs 2008 hier. Trotzdem danke. – Zombies

+0

Es ist das gleiche im Jahr 2013, ich bin sicher, es ist das gleiche in 2008 – TankorSmash

2

Debug | Windows | Speicher | Speicher1-4. Geben Sie die Adresse des Speicherblocks ein, den Sie in der Adresse anzeigen möchten. Es ist wahrscheinlich die schwierigste Menüoption, die Sie jemals mit der Maus ausführen möchten (Sie werden sehen ...).

In älteren Versionen von VS, wenn Sie den Inhalt einer Variablen sehen wollten, mussten Sie die Adresse der Variablen bestimmen, die ich normalerweise das Überwachungsfenster verwendete.

In neueren Versionen können Sie jedoch oft einfach den Namen der Variablen als Adresse eingeben, genau wie in einem Überwachungsfenster.

0

Ich weiß nicht, ob es gut ist, aber eine schnelle Google-Suche nach "Debugger-Display-Speicher als Bitmap" ergab Bitmap Memory Debugger, die entwickelt wurde, um mit einem anderen Debugger wie Visual Studio oder WinDbg verwendet werden.

Verwandte Themen