Partager via


Objets du débogueur natif dans NatVis

Aperçu

Les objets débogueur natifs représentent différentes constructions et comportements de l’environnement du débogueur. Les exemples d’objets débogueur incluent les éléments suivants.

  • session
  • Threads / Thread
  • Processus / Processus
  • Cadres de pile / Cadre de pile
  • Variables locales
  • Modules / Module
  • Utilité
  • État
  • Paramètres

Vous pouvez utiliser la commande dx et LINQ pour interagir avec les objets du débogueur. Pour plus d’informations, consultez dx (Display Debugger Object Model Expression) et Using LINQ With the debugger objects.

Vous pouvez également utiliser des objets de débogueur à l’aide de JavaScript. Pour en savoir plus sur cela, voir les objets Débogueur Natifs dans les extensions JavaScript.

Cette rubrique explique comment créer des visualiseurs NatVis personnalisés pour afficher des objets de débogueur.

Ressources de développement NatVis

Reportez-vous à ces ressources pour obtenir des informations générales sur l’utilisation de NatVis.

Créer des vues personnalisées d’objets natifs

.nvload

.nvlist

.nvunload

.nvunloadall

Exemple d’objet NatVis personnalisé

Créez une application C++ simple qui a une instance de la 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;
}

Créez un fichier nommé Dog.natvis qui contient ce code 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>

Copiez Dog.natvis dans le dossier Visualiseurs dans votre répertoire d’installation pour Les outils de débogage pour Windows. Par exemple:

C :\Program Files\Debugging Tools for Windows (x64)\Visualiseurs

Exécutez votre programme et arrêtez-le à la fonction principale. Effectuez une étape pour que la variable MyDog soit initialisée. Affichez MyDog avec l’aide de ?? et à nouveau avec l’aide de 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]

Voir aussi

dx (afficher l’expression de modèle objet du débogueur)

utilisation de LINQ with the debugger objects

objets débogueur natifs dans les extensions JavaScript