Debugger di Visual Studio: visualizzazione di valori interi in esadecimale


152

Sto usando Visual Studio 2008 e ho appena notato che il debugger mostra valori interi come esadecimale quando passo con il mouse sopra le variabili e anche nella finestra immediata. Immagino di aver premuto accidentalmente un tasto di scelta rapida o qualcosa del genere.

Qualcuno lo aveva già fatto? Come posso ripristinarlo per visualizzarlo in decimale?


Che ci crediate o no, questo stava anche sconvolgendo l'incremento degli interi dichiarati con grandi oops come f + 1 = 10 (dec).
Laurie Stearn,

Risposte:


273

Fai clic con il pulsante destro del mouse sulla finestra di controllo o sulla finestra immediata e deseleziona l'opzione Visualizzazione esadecimale.

inserisci qui la descrizione dell'immagine


4
non era disponibile nella finestra di dialogo Strumenti. L'unico modo per cambiarlo era aggiungere la finestra Variabile alla finestra di controllo e fare clic con il pulsante destro del mouse nel campo Valore, quindi avevo la casella di controllo Visualizzazione esadecimale.
Fizzer,

12
Sono stato in grado di farlo nella finestra Call Stack in VS2010.
Stuper Utente

1
Era nella barra degli strumenti Debug per me.
Breandán,

2
Grazie a Dio mi sono sbarazzato di questa stupida cosa fastidiosa. Grazie @Leniel
Ali Umair il

2
Ancora rilevante nel 2020 con VS 2019!
Marc Levesque,

45

È inoltre possibile scegliere la visualizzazione esadecimale o decimale in base alla variabile nella finestra di controllo di Visual Studio aggiungendo un identificatore del formato del debugger al nome della variabile. Nella finestra dell'orologio, inserisci:

myInt,h
myInt,d

Gli altri identificatori di formato molto utili sono ac(vedi nota a piè di pagina) per "calcola sempre" e nqper la visualizzazione senza "virgolette". Possono essere usati insieme:

my_string_func(),ac,nq

nqè utile all'interno degli DebuggerDisplayattributi, che possono apparire su una classe:

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

... o su uno o più campi all'interno di una classe:

    [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

  • nota che le versioni precedenti della pagina del documento MSDN dicevano erroneamente 'Ac' (con la 'A' maiuscola) - che non funziona

+1, ma anche se MSDN afferma che hè il modificatore corretto per la visualizzazione esadecimale, sembra (almeno nella mia versione, VS 2012 Premium) che xfunzioni invece (ad es. 1024,xAnziché 1024,h). Il posizionamento hrestituisce l'errore "CXX0026 stringa formato errato".
Groo,

Ho il sospetto che ciò possa dipendere dalla lingua in cui è stato scritto il modulo di cui è stato eseguito il debug. È certamente vero che la sintassi dell'espressione del debugger cambia in base alla lingua corrente. Dal tuo messaggio, sembra che stavi usando C ++; Ho risposto come per C #, anche se forse non avrei dovuto pensarlo poiché l'OP non ha specificato.
Glenn Slayden,

1
Ciò fornisce un migliore controllo discrezionale sulla formattazione rispetto al tutto o niente del "Display esadecimale"
Fernando Gonzalez Sanchez,

17

C'è un pulsante esadecimale mostrato quando Visual Studio viene eseguito in modalità debug per abilitare / disabilitare la visualizzazione esadecimale

Modalità debug di Visual Studio - pulsante esadecimale


Questo è un pulsante trascurato come lo schermo esadecimale nel menu contestuale, grazie.
Fredrick Gauss,

11

Fai clic con il pulsante destro del mouse sullo spazio client di quasi tutte le finestre di debug (tranne Finestra immediata) - guarda / locals / auto / thread / call stack - e deseleziona l' opzione "Visualizzazione esadecimale" . C'è anche un pulsante "Esadecimale" nella barra degli strumenti di debug (diritto a "Passa sopra" per impostazione predefinita) durante il debug.


9

In Visual Studio 2010 l'ho visto anche nella barra degli strumenti Debug, è stato evidenziato in giallo "Hex", l'ho appena fatto clic e è tornato ai valori (normali) decimali


3

Nella finestra immediata è possibile deselezionare l'opzione Visualizzazione esadecimale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.