Depurador de Visual Studio: visualización de valores enteros en hexadecimal


152

Estoy usando Visual Studio 2008 y me acabo de dar cuenta de que el depurador muestra valores enteros como hexadecimales al pasar el mouse sobre las variables y también en la ventana inmediata. Supongo que debo haber pulsado una tecla de acceso directo accidentalmente o algo así.

¿Alguien tuvo esto antes? ¿Cómo lo configuro para que se muestre en decimal?


Lo creas o no, esto también estaba alterando el incremento de enteros declarados con grandes oops f + 1 = 10 (dec).
Laurie Stearn

Respuestas:


273

Haga clic con el botón derecho en su Ventana de observación o Ventana Inmediata y desactive la opción Visualización hexadecimal.

ingrese la descripción de la imagen aquí


44
no estaba disponible en el cuadro de diálogo Herramientas. La única forma en que podía volver a cambiarlo era agregando Variable a la ventana Observar y hacer clic derecho en el campo Valor y luego tenía la casilla de verificación Pantalla hexadecimal.
fizzer

12
Pude hacerlo en la ventana Pila de llamadas en VS2010.
StuperUser

1
Estaba en la barra de herramientas de depuración para mí.
Breandán

2
Gracias a Dios me libré de esta estúpida y molesta cosa. Gracias @Leniel
Ali Umair

2
¡Sigue siendo relevante en 2020 con VS 2019!
Marc Levesque

45

También puede elegir la visualización hexadecimal o decimal por variable en la ventana de visualización de Visual Studio agregando un especificador de formato de depurador al nombre de la variable. En la ventana del reloj, ingrese:

myInt,h
myInt,d

Los otros especificadores de formato muy útiles son ac(ver nota al pie) para 'calcular siempre' y nqpara mostrar con 'sin comillas'. Se pueden usar juntos:

my_string_func(),ac,nq

nqes útil dentro de los DebuggerDisplayatributos, que pueden aparecer en una clase:

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

... o en uno o más campos dentro de una clase:

    [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

  • tenga en cuenta que las versiones anteriores de la página de documentos de MSDN decían incorrectamente 'Ac' (con una 'A' mayúscula), lo que no funciona

+1, pero aunque MSDN indica que hes el modificador correcto para la pantalla hexadecimal, parece (al menos en mi versión, VS 2012 Premium) que xfunciona en su lugar (por ejemplo, en 1024,xlugar de 1024,h). La colocación hdevuelve el error "Cadena de formato incorrecto CXX0026".
Groo

Sospecho que eso podría depender del idioma en el que se escribió el módulo que se está depurando. Es cierto que la sintaxis de la expresión del depurador cambia de acuerdo con el idioma actual. De su mensaje, parece que estaba usando C ++; Respondí como si fuera C #, aunque tal vez no debería haber asumido eso ya que el OP no especificó.
Glenn Slayden

1
Esto proporciona un mejor control discrecional sobre el formato frente a todo o nada de "Pantalla hexadecimal"
Fernando González Sánchez

17

Se muestra un botón Hex cuando Visual Studio se ejecuta en modo de depuración para habilitar / deshabilitar la pantalla Hex

Modo de depuración de Visual Studio: botón hexadecimal


Este es un botón que se pasa por alto igual que la pantalla hexadecimal en el menú contextual, gracias.
Fredrick Gauss

11

Haga clic con el botón derecho en el espacio del cliente de casi todas las ventanas de depuración (excepto la Ventana Inmediata) - mire / locals / autos / threads / call stack - y desactive la opción "Pantalla hexadecimal" . También hay un botón "Hex" en la barra de herramientas de depuración (derecho a "Pasar" por defecto) al depurar.


9

En Visual Studio 2010 también lo vi en la barra de herramientas de depuración, se resaltó en amarillo 'Hex', simplemente hice clic y regresó a los valores decimales (normales)


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.