Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni generali
Gli oggetti debugger nativi rappresentano vari costrutti e comportamenti dell'ambiente del debugger. Gli oggetti debugger di esempio includono quanto segue.
- Sessione
- Thread/Thread
- Processi/Processo
- Frame dello Stack/Frame dello Stack
- Variabili locali
- Moduli/Modulo
- Utilità
- stato
- Impostazioni
È possibile usare il comando dx e LINQ per interagire con gli oggetti debugger. Per altre informazioni, vedere dx (Display Debugger Object Model Expression) e Using LINQ With the debugger objects.
È anche possibile usare oggetti debugger usando JavaScript. Per altre informazioni su questo argomento, vedere Oggetti debugger nativi nelle estensioni JavaScript.
In questo argomento viene descritto come creare visualizzatori NatVis personalizzati per visualizzare gli oggetti debugger.
Risorse di sviluppo NatVis
Per informazioni generali sull'uso di NatVis, vedere queste risorse.
Creare visualizzazioni personalizzate di oggetti nativi
Esempio di oggetto NatVis personalizzato
Creare una semplice applicazione C++ con un'istanza della 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;
}
Creare un file denominato Dog.natvis contenente il codice XML seguente:
<?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>
Copiare Dog.natvis nella cartella Visualizers nella directory di installazione per Strumenti di debug per Windows. Per esempio:
C:\Programmi\Strumenti di debug per Windows (x64)\Visualizers
Eseguire il programma ed eseguire l'interruzione nella funzione principale. Eseguire un passaggio in modo che la variabile MyDog venga inizializzata. Visualizzare MyDog con ?? e di nuovo 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]
Vedere anche
dx (Display Debugger Object Model Expression)