Partager via


Menu WinDbg : Modèle de données

Cet article explique comment utiliser le menu Modèle de données dans WinDbg.

Nouvelle requête de modèle

Utilisez la boîte de dialogue Spécifier une requête de modèle pour créer une requête de modèle. Vous pouvez placer quelque chose ici que vous mettez dans une commande normale dx .

Par exemple, spécifiez Debugger.Sessions pour examiner les objets de sessions du débogueur.

Capture d’écran de la boîte de dialogue Spécifier la requête de modèle dans WinDbg.

Pour obtenir des informations générales sur les objets du débogueur, reportez-vous à dx (expression de modèle objet du débogueur d’affichage).

Utilisez des requêtes LINQ pour approfondir la session. Cette requête montre les cinq principaux processus qui exécutent le plus de threads.

Debugger.Sessions.First().Processes.Select(p => new { Name = p.Name, ThreadCount = p.Threads.Count() }).OrderByDescending(p => p.ThreadCount),5

Capture d’écran de la fenêtre Modèle de données affichant les processus et les threads dans WinDbg.

Explorateur de modèles de données

Utilisez l’Explorateur de modèles de données pour parcourir rapidement chaque objet de modèle de données dans l’espace Debugger de noms.

Capture d’écran de la fenêtre Data Model avec des sessions d’objets de débogage dans WinDbg.

Mode d’affichage

Utilisez le mode d’affichage pour basculer entre les modes d’affichage de grille, de hiérarchie et de graphique. Vous pouvez cliquer avec le bouton droit sur les en-têtes de colonnes pour masquer ou afficher plus de colonnes.

Le mode Grille est utile lorsque vous souhaitez explorer les objets. Par exemple, voici la requête précédente des threads les plus populaires en mode grille.

Capture d’écran de la fenêtre Modèle de données affichant les threads principaux en mode grille dans WinDbg.

La sélection d’un élément souligné ouvre un nouvel onglet et exécute une requête pour afficher ces informations.

Cette requête montre les appareils de l’arborescence d’appareils plug-and-play regroupés par le nom du pilote de l'objet de périphérique physique lors d'une session noyau.

Debugger.Sessions.First().Devices.DeviceTree.Flatten(n => n.Children).GroupBy(n => n.PhysicalDeviceObject->Driver->DriverName.ToDisplayString()) 

Capture d’écran de la fenêtre Modèle de données présentant une arborescence d’appareils plug-and-play dans l’affichage en grille dans WinDbg.

Modifier la requête

Modifiez la zone de texte de la requête pour modifier la requête utilisée dans la fenêtre de modèle de données active.

Modifier le titre de la fenêtre ou de l’onglet

Les nouvelles fenêtres de modèle de données génériques reçoivent le titre du modèle de données. Vous pouvez personnaliser les titres en appelant l’élément de menu contextuel Modifier le titre à partir du volet de titre de l’onglet ou de la fenêtre.

Capture d’écran de la fenêtre Modèle de données présentant deux onglets avec des titres personnalisés dans WinDbg.

Remarque

Le titre ne peut pas être vide ou contenir des points-virgules.