Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Visão geral
Os objetos nativos do depurador representam várias construções e comportamentos do ambiente do depurador. Exemplos de objetos do depurador são os seguintes.
- Sessão
- Tópicos / Thread
- Processos / Processo
- Quadros de pilha / Quadro de pilha
- Variáveis locais
- Módulos / Módulo
- Utilidade
- Estado
- Configurações
Você pode usar o comando dx e o LINQ para interagir com os objetos do depurador. Para obter mais informações, consulte dx (Display Debugger Object Model Expression) e Usando LINQ com os objetos do depurador.
Você também pode trabalhar com objetos depuradores usando JavaScript. Para obter mais informações sobre isso, consulte Native Debugger Objects in JavaScript Extensions.
Este tópico descreve como você pode criar visualizadores NatVis personalizados para exibir objetos do depurador.
Recursos de desenvolvimento NatVis
Consulte estes recursos para obter informações gerais sobre como trabalhar com o NatVis.
Criar visualizações personalizadas de objetos nativos
Exemplo de objeto NatVis personalizado
Crie um aplicativo C++ simples que tenha uma instância da classe CDog.
class CDog
{
public:
CDog(){m_age = 8; m_weight = 30;}
long m_age;
long m_weight;
};
int main()
{
CDog MyDog;
printf_s("%d, %d\n", MyDog.m_age, MyDog.m_weight);
return 0;
}
Crie um arquivo chamado Dog.natvis que contém este XML:
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="https://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="CDog">
<DisplayString>{{Age = {m_age} years. Weight = {m_weight} pounds.}}</DisplayString>
</Type>
</AutoVisualizer>
Copie Dog.natvis para a pasta Visualizadores no diretório de instalação das Ferramentas de Depuração para Windows. Por exemplo:
C:\Arquivos de Programas\Ferramentas de Depuração para Windows (x64)\Visualizadores
Execute o programa e entre na função principal. Dê um passo para que a variável MyDog seja inicializada. Exibir MyDog usando ?? e novamente usando dx.
0:000> ??MyDog
class CDog
+0x000 m_age : 0n8
+0x004 m_weight : 0n30
0:000> *
0:000> dx -r1 MyDog
.....
MyDog : {Age = 8 years. Weight = 30 pounds.} [Type: CDog]
Ver também
dx (Expressão do Modelo de Objeto do Display Debugger)