WinDbg - Menu Modèle de données
Cette section explique comment utiliser le menu du modèle de données dans le débogueur WinDbg.
Nouvelle requête de modèle
Utilisez la boîte de dialogue Nouvelle requête de modèle pour créer une requête de modèle. Vous pouvez placer ici tout ce que vous mettez dans une commande normale dx
.
Par exemple, spécifiez Debugger.Sessions
pour examiner les objets sessions du débogueur.
Pour plus d’informations générales sur les objets de débogueur, reportez-vous à dx (Display Debugger Object Model Expression).
Utilisez des requêtes LINQ pour approfondir la session. Cette requête montre les 5 principaux processus exécutant le plus de threads.
Debugger.Sessions.First().Processes.Select(p => new { Name = p.Name, ThreadCount = p.Threads.Count() }).OrderByDescending(p => p.ThreadCount),5
Explorer de modèle 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 de Debugger
noms.
Mode d’affichage
Utilisez le mode d’affichage pour basculer entre le mode d’affichage grille et le mode d’affichage de hiérarchie. Vous pouvez cliquer avec le bouton droit sur les en-têtes de colonne pour masquer ou afficher d’autres colonnes.
Le mode grille peut être utile pour explorer les objets. Par exemple, voici la requête précédente des threads principaux en mode grille.
Lorsque vous cliquez sur un élément souligné, un nouvel onglet est ouvert et une requête est exécutée pour afficher ces informations.
Cette requête montre les appareils de l’arborescence des périphériques plug-and-play regroupés par nom du pilote de l’objet de périphérique physique pour une session de noyau.
Debugger.Sessions.First().Devices.DeviceTree.Flatten(n => n.Children).GroupBy(n => n.PhysicalDeviceObject->Driver->DriverName.ToDisplayString())
Requête de modification
Utilisez la requête de modification pour modifier la requête utilisée dans la fenêtre du modèle de données actif.