Visual Studio-Debugger - Anzeigen von Ganzzahlwerten in Hex


152

Ich verwende Visual Studio 2008 und habe gerade festgestellt, dass der Debugger ganzzahlige Werte als Hex anzeigt, wenn ich den Mauszeiger über Variablen und auch im unmittelbaren Fenster bewege. Ich denke, ich muss versehentlich eine Tastenkombination gedrückt haben oder so.

Hat das schon mal jemand gemacht? Wie setze ich es zurück, um es dezimal anzuzeigen?


Ob Sie es glauben oder nicht, dies störte auch die Zunahme deklarierter Ganzzahlen mit großen Oopses wie f + 1 = 10 (dec).
Laurie Stearn

Antworten:


273

Rechtsklicken Sie auf Watch - Fenster oder Direkt - Fenster und deaktivieren Hexadezimal Anzeigeoption.

Geben Sie hier die Bildbeschreibung ein


4
war im Dialogfeld "Tools" nicht verfügbar. Ich konnte es nur ändern, indem ich dem Überwachungsfenster eine Variable hinzufügte und mit der rechten Maustaste in das Feld Wert klickte. Dann hatte ich das Kontrollkästchen Hexadezimale Anzeige.
Fizzer

12
Ich konnte dies im Call Stack- Fenster in VS2010 tun.
StuperUser

1
War in der Debugging-Symbolleiste für mich.
Breandán

2
Gott sei Dank habe ich diese dumme nervige Sache losgeworden. Vielen Dank @Leniel
Ali Umair

2
Noch relevant im Jahr 2020 mit VS 2019!
Marc Levesque

45

Sie können im Visual Studio-Überwachungsfenster auch eine hexadezimale oder dezimale Anzeige pro Variable im Visual Studio-Überwachungsfenster auswählen, indem Sie dem Variablennamen einen Debugger-Formatbezeichner anhängen. Geben Sie im Überwachungsfenster Folgendes ein:

myInt,h
myInt,d

Die anderen sehr nützlichen Formatbezeichner sind ac(siehe Fußnote) für "immer berechnen" und nqfür die Anzeige ohne "Anführungszeichen". Sie können zusammen verwendet werden:

my_string_func(),ac,nq

nqist nützlich in DebuggerDisplayAttributen, die in einer Klasse erscheinen können:

[DebuggerDisplay("{my_string_func(),nq}")]
class MyClass
{
    /* ...example continues below... */

... oder auf einem oder mehreren Feldern innerhalb einer Klasse:

    [DebuggerDisplay("{some_field,nq}", Name="substitute name here")]
    int an_integer;

    [DebuggerBrowsable(DebuggerBrowsableState.Never)]
    String some_field;
}

http://msdn.microsoft.com/en-us/library/e514eeby(v=VS.100).aspx

  • Beachten Sie, dass frühere Versionen der MSDN-Dokumentseite fälschlicherweise "Ac" (mit einem Großbuchstaben "A") sagten - was nicht funktioniert

+1, aber obwohl MSDN angibt, dass dies hder richtige Modifikator für die Hex-Anzeige ist, scheint es (zumindest in meiner Version, VS 2012 Premium) xstattdessen zu funktionieren (z . B. 1024,xanstelle von 1024,h). Beim Platzieren wird hder Fehler "CXX0026-Zeichenfolge für fehlerhaftes Format" zurückgegeben.
Groo

Ich vermute, dass dies von der Sprache abhängt, in der das zu debuggende Modul geschrieben wurde. Es ist sicher richtig, dass sich die Syntax des Debugger-Ausdrucks entsprechend der aktuellen Sprache ändert. Aus Ihrer Nachricht geht hervor, dass Sie C ++ verwendet haben. Ich antwortete wie für C #, obwohl ich das vielleicht nicht hätte annehmen sollen, da das OP nichts spezifizierte.
Glenn Slayden

1
Dies bietet eine bessere diskretionäre Kontrolle der Formatierung im Vergleich zu "Hexadezimalanzeige"
Fernando Gonzalez Sanchez,

17

Wenn Visual Studio im Debug-Modus ausgeführt wird, wird eine Hex-Schaltfläche angezeigt, um die Hex-Anzeige zu aktivieren / deaktivieren

Visual Studio Debug-Modus - Hex-Schaltfläche


Dies ist eine übersehene Schaltfläche, die der hexadezimalen Anzeige im Kontextmenü entspricht, danke.
Fredrick Gauss

11

Klicken Sie mit der rechten Maustaste auf den Client-Bereich fast aller Debug-Fenster (außer Sofortfenster ) - watch / local / autos / threads / call stack - und deaktivieren Sie die Option "Hexadezimalanzeige" . Es gibt auch eine "Hex" -Schaltfläche in der Debug-Symbolleiste (standardmäßig "Step Over") beim Debuggen.


9

In Visual Studio 2010 habe ich es auch in der Debug-Symbolleiste gesehen, es wurde in gelb 'Hex' hervorgehoben, ich habe nur darauf geklickt und es kehrte zu (normalen) Dezimalwerten zurück


3

Im unmittelbaren Fenster können Sie die Option Hexadezimale Anzeige deaktivieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.