Como assistir a uma expressão no depurador
A janela Inspeção e a caixa de diálogo QuickWatch são os locais onde você pode inserir os nomes de variável e as expressões que você deseja inspecionar durante uma sessão de depuração.
A caixa de diálogo QuickWatch permite que você examine uma única variável ou expressão por vez. Será útil examinar rapidamente um valor ou uma estrutura de dados maior. A janela Inspeção pode armazenar diversas variáveis e expressões que você deseja exibir durante a sessão de depuração. Algumas edições do Visual Studio têm várias janelas de Inspeção, que são numeradas de Watch1 a Watch4.
Para obter mais informações sobre como abrir as janelas Inspeção ou QuickWatch, consulte Como usar janelas de variável do depurador.
Um nome de variável é a expressão mais simples que você pode inserir. Se você estiver depurando código nativo, poderá usar nomes de registro bem como nomes de variáveis. O depurador pode aceitar expressões muito mais complexas do que isso, no entanto. Por exemplo, você pode inserir a seguinte expressão para localizar o valor médio de três variáveis:
(var1 + var2 + var3) / 3
No C#, você pode inserir uma ID ou alias do objeto, em vez do nome de objeto.
O depurador aceita a maioria das expressões de linguagem válidas em uma janela de Inspeção. Para obter mais informações, consulte Expressões no depurador.
Se você estiver programando em código nativo, às vezes talvez seja necessário qualificar o contexto de um nome de variável ou de uma expressão que contenham um nome de variável. O contexto significa a função, o arquivo de origem e o módulo em que uma variável está localizada. Se você precisar fazer isso, poderá usar a sintaxe de operador de contexto. Para obter mais informações, consulte Using context operators to specify a symbol.
Expressões que afetam o estado de seu programa
Avaliar algumas expressões pode alterar o valor de uma variável ou, de outra forma, afetar o estado do programa. Por exemplo, avaliar a expressão a seguir altera o valor de var1:
var1 = var2
Afirma-se que expressões que alteram os dados têm afeitos colaterais. Se você inserir uma expressão que tenha um efeito colateral na janela Inspeção, o efeito colateral ocorrerá sempre que a expressão for avaliada pela janela Inspeção. Isso pode produzir resultados inesperados se você não estiver ciente de que a expressão possui efeitos colaterais. Uma expressão que é conhecida por ter efeitos colaterais é avaliada somente uma vez, na primeira vez que você a insere. As avaliações subsequentes serão desativadas. Você pode substituir manualmente esse comportamento clicando em um ícone de atualização que aparece ao lado do valor.
Os efeitos colaterais inesperados são geralmente o resultado da função de avaliação. Por exemplo, você pode inserir a seguinte chamada de função na janela Inspeção:
Func1(var1)
Se você chamar uma função das janelas Inspeção ou QuickWatch, a função que você estiver chamando poderá modificar dados, criando um efeito colateral. Uma maneira para evitar possíveis efeitos colaterais inesperados da avaliação de função é desativar a avaliação da função automática na caixa de diálogo Opções. Isso desativa a classificação automática dos recursos de linguagem mais novos, tais como propriedades. No entanto, isso é mais seguro.
Dica
Ao examinar uma expressão na janela Inspeção, você pode ver um ícone de atualização, que assemelha-se a duas setas verdes, circundando em direções opostas em um círculo verde.Isso é especialmente provável se você tiver desativado a avaliação automática de função.O ícone de atualização indica um erro ou um valor expirado.Para obter mais informações, consulte Como atualizar valores de inspeção.
Para o código nativo e o C#, você pode especificar um formato de exibição para o valor da expressão usando especificadores de formato. Para obter mais informações, consulte Especificadores de formato em C++ e Especificadores de formato em C#.
O depurador do Visual Studio expande automaticamente os tipos de dados comuns para mostrar os elementos mais importantes. Você adiciona expansões para tipos de dados personalizados. Para obter mais informações, consulte Exibindo tipos de dados personalizados e Visualizadores.
Dica
As caixas de diálogo e os comandos de menu que você vê podem ser diferentes dos descritos na Ajuda, dependendo da sua edição ou das configurações ativas.Para alterar as configurações, escolha Importar e Exportar Configurações no menu Ferramentas.Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.
Para avaliar uma expressão na janela de inspeção
Na janela Inspeção, clique em uma linha vazia na coluna Nome. O depurador deve estar no modo de interrupção neste momento. Digite ou cole o nome de variável ou expressão que você deseja inspecionar.
—ou—
Arraste uma variável para uma linha na janela Inspeção.
Pressione ENTER.
O resultado aparece na coluna Valor. Se você digitar o nome de uma matriz ou de uma variável de objeto, um controle de árvore aparece ao lado do nome na coluna Nome. Expandir ou recolher a variável na coluna Nome.
A expressão permanece na janela de Inspeção até você removê-la.
Para avaliar uma expressão no QuickWatch
Na caixa de diálogo QuickWatch, digite ou cole a variável, o registro ou a expressão na caixa de texto Expressão.
Clique em Reavaliar ou pressione ENTER.
O valor aparece na caixa Valor Atual.
Se você digitar o nome de uma matriz ou de uma variável de objeto na caixa Expressão, um controle de árvore aparece ao lado do nome na caixa Valor atual. Expandir ou recolher a variável na coluna Nome.
Para reavaliar a expressão anterior no QuickWatch
Na caixa de diálogo QuickWatch, clique na seta para baixo que aparece à direita da caixa Expressão.
Escolha uma das expressões anteriores na lista suspensa.
Clique em Reavaliar.
Consulte também
Tarefas
Como usar janelas de variável do depurador