Depurador do Visual Studio - Exibindo valores inteiros em Hex


152

Estou usando o Visual Studio 2008 e acabei de perceber que o depurador está exibindo valores inteiros como Hex quando passo o mouse sobre variáveis ​​e também na janela imediata. Acho que devo ter pressionado uma tecla de atalho acidentalmente ou algo assim.

Alguém já teve isso antes? Como faço para configurá-lo novamente para ser exibido em decimal?


Acredite ou não, isso também estava perturbando o incremento de números inteiros declarados com grandes oopses como f + 1 = 10 (dec).
precisa

Respostas:


273

Clique com o botão direito do mouse na Janela de inspeção ou na Janela imediata e desmarque a opção Exibição hexadecimal.

insira a descrição da imagem aqui


4
não estava disponível na caixa de diálogo Ferramentas. A única maneira de mudar de volta foi adicionar a janela Variável ao monitor e clicar com o botão direito do mouse no campo Valor e, em seguida, tive a caixa de seleção Exibição hexadecimal.
Fizzer

12
Consegui fazer isso na janela Pilha de chamadas no VS2010.
StuperUser

1
Estava na barra de ferramentas Depuração para mim.
Breandán

2
Graças a Deus eu me livrei dessa coisa estúpida e irritante. Obrigado @Leniel
Ali Umair

2
Ainda relevante em 2020 com o VS 2019!
Marc Levesque

45

Você também pode escolher a exibição hexadecimal ou decimal por variável na janela de inspeção do Visual Studio anexando um especificador de formato de depurador ao nome da variável. Na janela de inspeção, insira:

myInt,h
myInt,d

Os outros especificadores de formato muito úteis são ac(consulte a nota de rodapé) para 'sempre calcular' e nqpara exibir com 'sem aspas'. Eles podem ser usados ​​juntos:

my_string_func(),ac,nq

nqé útil dentro de DebuggerDisplayatributos, que podem aparecer em uma classe:

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

... ou em um ou mais campos dentro de uma 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

  • observe que as versões anteriores da página de documento do MSDN diziam incorretamente 'AC' (com 'A' maiúsculo) - o que não funciona

+1, mas embora o MSDN indique que hé o modificador correto para a exibição hexadecimal, parece (pelo menos na minha versão, VS 2012 Premium) que xfunciona em vez disso (por exemplo, em 1024,xvez de 1024,h). A colocação hretorna o erro "CXX0026 string de formato incorreto".
Groo

Eu suspeito que isso possa depender do idioma em que o módulo que está sendo depurado foi gravado. Certamente é verdade que a sintaxe da expressão do depurador muda de acordo com o idioma atual. Na sua mensagem, parece que você estava usando C ++; Eu respondi como se fosse C #, embora talvez eu não devesse ter assumido isso, já que o OP não especificou.
Glenn Slayden

1
Isso fornece um melhor controle discricionário na formatação versus o tudo ou nada da "exibição hexadecimal"
Fernando Gonzalez Sanchez

17

Há um botão Hex mostrado quando o Visual Studio é executado no modo de depuração para ativar / desativar a exibição Hex

Modo de depuração do Visual Studio - botão hex


Este é um botão esquecido, igual ao Monitor hexadecimal no menu de contexto, obrigado.
Fredrick Gauss

11

Clique com o botão direito do mouse no espaço do cliente em quase todas as janelas de depuração (exceto Janela Imediata) - watch / locals / autos / threads / call stack - e desmarque a opção "Exibição hexadecimal" . Há também um botão "Hex" na barra de ferramentas de depuração (à direita para "Avançar" por padrão) ao depurar.


9

No Visual Studio 2010, eu também o vi na barra de ferramentas Debug, destacada em amarelo 'Hex', cliquei nele e retornei aos valores decimais (normais)


3

Na janela imediata, você pode desmarcar a opção Exibição hexadecimal.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.