Configurer et utiliser WinDbg MCP

Utilisez WinDbg MCP pour examiner une cible de débogage avec un client IA pris en charge pendant que vous passez en revue les actions de débogueur initiées par l’IA dans WinDbg. WinDbg MCP utilise le protocole MCP (Model Context Protocol) pour fournir au client les outils et le contexte du débogueur WinDbg pendant l’analyse.

Les résultats générés par l’IA ne font pas autorité. Validez les constatations, les preuves, les hypothèses, l’état cible et les commandes par rapport à la sortie dans WinDbg.

Cet article explique comment enregistrer WinDbg auprès de Visual Studio Code avec GitHub Copilot ou la CLI GitHub Copilot, connecter le client sélectionné à la session WinDbg prévue et utiliser la connexion pour le débogage assisté par l’IA.

Prerequisites

  • Vérifiez que votre organisation autorise WinDbg MCP. Les administrateurs peuvent le désactiver en activant le mode restreint WinDbg.
  • Obtenez WinDbg version 1.2610.1001.0 ou ultérieure à partir de l’application Microsoft Store WinDbg ou du téléchargement WinDbg.
  • L’un des clients IA pris en charge suivants :
    • Visual Studio Code avec GitHub Copilot
    • GitHub Copilot CLI
  • Autorisation d’utiliser la cible de débogage et ses données avec le client IA sélectionné et son service de modèle configuré.
  • Passez en revue les instructions relatives à la sécurité, à la confidentialité et à la limite de session dans la vue d’ensemble de WinDbg MCP.

Installer et activer WinDbg MCP

Dans cette section, vous inscrivez WinDbg en tant que serveur MCP auprès de votre client IA choisi, démarrez le service MCP pour la session WinDbg actuelle, qui active le mode sécurisé par défaut et connectez le client à une cible de débogage afin de commencer l’analyse assistée par l’IA. Vous n’avez pas besoin de charger ou de vous attacher à une cible de débogage pour activer le serveur ou enregistrer WinDbg auprès d’un client IA pris en charge.

Pour installer et activer le serveur MCP, procédez comme suit :

  1. Ouvrez WinDbg. Pour l’ouvrir, recherchez WinDbg dans le menu Démarrer et sélectionnez-le.

  2. Dans le menu Fichier WinDbg, sélectionnez Paramètres.

  3. Dans la page Paramètres, sélectionnez Paramètres du service MCP, activez le serveur, puis sélectionnez votre client dans la liste des clients . Sélectionnez VS Code pour Visual Studio Code avec GitHub Copilot, ou sélectionnez GitHub Copilot CLI si vous utilisez GitHub Copilot CLI.

    Capture d’écran des paramètres de service MCP WinDbg avec Activer le serveur sélectionné et la liste cliente développée sur VS Code, GitHub Copilot CLI et Custom.

  4. Utilisez les contrôles numérotés dans le ruban WinDbg pour installer le serveur, démarrer le service et ouvrir le client.

    Capture d’écran du ruban WinDbg avec Install MCP, le service MCP et les contrôles Open Chat numérotés un à trois.

  5. Sélectionnez Install MCP (1) pour enregistrer WinDbg comme serveur MCP auprès du client sélectionné, puis effectuez toute confirmation affichée par le client. Une notification confirme que WinDbg a inscrit le serveur MCP auprès du client sélectionné.

    Capture d’écran de WinDbg avec une notification de configuration MCP confirmant que le serveur MCP WinDbg a été ajouté à GitHub Copilot CLI.

  6. Sélectionnez le service MCP (2) pour démarrer le serveur MCP pour la session WinDbg actuelle. Dans l’avertissement de confidentialité et de sécurité, passez en revue les comportements de mode sécurisé suivants :

    • Valeur par défaut : WinDbg sélectionne Activer le mode sécurisé au démarrage du serveur MCP par défaut.
    • Activation : Si vous laissez la case à cocher activée lorsque le serveur MCP démarre, le mode sécurisé s’active. Après l’activation, le mode sécurisé ne peut pas être désactivé et reste actif tant que WinDbg ne redémarre pas.
    • Paramètre enregistré : Le fait de décocher ou de cocher la case à cocher met à jour le paramètre enregistré Fichier>Paramètres>Paramètres du service MCP>Activer le mode sécurisé pour le serveur MCP pour qu’il corresponde à l’état de la case à cocher.

    Vérifiez que vous autorisez la cible de débogage prévue et ses données à être utilisées avec le client IA sélectionné et son service de modèle configuré, puis sélectionnez Oui.

    Capture d’écran de la boîte de dialogue Avertissement de confidentialité et de sécurité WinDbg avec Activer le mode sécurisé lorsque le serveur MCP démarre sélectionné.

    L’avertissement de confidentialité et de sécurité WinDbg explique que le démarrage du serveur MCP peut exposer des informations sensibles sur la cible de débogage à des parties non approuvées. Il avertit de ne pas utiliser le serveur avec des données personnelles, confidentielles, exclusives ou autres dont vous n'êtes pas le propriétaire ou que vous n'êtes pas autorisé à divulguer. Les opérations de débogage pilotées par l’IA peuvent charger ou exécuter directement ou indirectement du code non approuvé, ce qui peut compromettre la sécurité, endommager les données ou endommager le système ou les appareils. Le mode sécurisé réduit ces risques en limitant les opérations du débogueur qui peuvent charger ou exécuter du code non approuvé, lancer des processus ou effectuer des opérations de fichier non sécurisées. WinDbg sélectionne la case à cocher **Activer le mode sécurisé lorsque le serveur MCP démarre** par défaut. Le mode sécurisé s’active lorsque le serveur démarre et reste actif jusqu’à ce que WinDbg redémarre. Décocher la case à cocher modifie le paramètre de service MCP enregistré. La sélection de **Oui** valide les avertissements et démarre le serveur ; la sélection de **Non** annule l’opération.

    Pour plus d’informations sur le mode sécurisé, consultez mode sécurisé.

  7. Chargez ou attachez-vous à une cible de débogage.

  8. Sélectionnez Ouvrir le chat (3) pour ouvrir le client IA sélectionné et démarrer une conversation.

Vérifier la connexion MCP WinDbg

  1. Vérifiez que la barre d’état WinDbg affiche le client IA connecté au serveur MCP.

    Capture d’écran de la barre d’état WinDbg montrant qu’un client IA est connecté au serveur MCP.

  2. Vérifiez que WinDbg MCP est disponible dans le client IA.

  3. Entrez l’invite suivante :

    Use WinDbg MCP to report the current target type and execution state.
    
  4. Vérifiez que le client IA utilise les outils MCP WinDbg et signale le type cible et l’état d’exécution affichés par WinDbg.

Si le client ne se connecte pas ou si le résultat ne correspond pas à la cible, consultez Résoudre les problèmes d’installation et de connexion de WinDbg MCP.

Analyser une cible de débogage avec WinDbg MCP

Après avoir vérifié la connexion, essayez une requête d’analyse immédiate :

Analyze this debugging target and provide the likely cause, supporting evidence, and remaining assumptions.

Comparez les résultats du client IA avec l’état cible et la sortie du débogueur visible avant d’agir dessus. Pour connaître les outils disponibles et les invites intégrées, consultez les invites et les outils MCP WinDbg. Pour les scénarios pris en charge, consultez Utiliser WinDbg MCP pour le débogage.

Écrire des prompts MCP WinDbg efficaces

Donnez au client IA suffisamment de contexte pour sélectionner les outils MCP WinDbg appropriés et produire des résultats que vous pouvez valider :

  • Identifiez la cible de débogage et la tâche, telles que l’analyse d’un vidage sur incident mémoire, l’examen d’une cible active ou l’examen d’une trace de débogage de voyage dans le temps (TTD).
  • Demandez des éléments justificatifs et des hypothèses restantes, pas seulement une conclusion.
  • Demandez les commandes, diagnostics, révision de source ou script appropriés lorsque vous avez besoin d’un type spécifique d’analyse.
  • Spécifiez le format de sortie, tel qu’une arborescence, une grille, un graphique ou un plan d’investigation ordonné.
  • Comparez le résultat avec l’état cible, les commandes et la sortie du débogueur visible dans WinDbg avant d’agir dessus.

Gérer les sessions WinDbg

Ces procédures supposent que vous avez terminé la configuration, ouvert la conversation du client IA prise en charge, confirmé que WinDbg MCP est disponible dans le client et démarré le service MCP dans chaque fenêtre WinDbg que vous souhaitez utiliser. Demandez les commandes de sélection de session via la conversation du client IA ; n’entrez pas les noms d’outils directement dans WinDbg.

Le proxy MCP WinDbg se connecte automatiquement lorsqu’il détecte exactement une session WinDbg disponible. Si plusieurs sessions sont disponibles, le client IA reste déconnecté jusqu’à ce que vous sélectionniez une session.

Connecter le client IA lorsque plusieurs sessions WinDbg sont disponibles

Utilisez cette procédure lorsque plusieurs sessions WinDbg sont disponibles et que le client IA n’est pas connecté à l’une des sessions. Après la procédure, le client se connecte à la session sélectionnée.

  1. Demandez au client IA d’utiliser list_sessions.
  2. Identifiez l’ID de processus de la session WinDbg prévue dans le résultat.
  3. Demandez au client IA d’utiliser connect_session avec cet ID de processus.
  4. Vérifiez que le client signale une connexion à la session prévue et que son état cible correspond à la fenêtre WinDbg sélectionnée.

Basculer le client IA vers une autre session WinDbg

Utilisez cette procédure lorsque le client IA est connecté à une session WinDbg et que vous souhaitez qu’il utilise une autre session. Après la procédure, le client se déconnecte de la session d’origine et se connecte au remplacement sélectionné.

  1. Demandez au client IA d’utiliser disconnect_session.
  2. Demandez au client IA d’utiliser list_sessions.
  3. Identifiez l’ID de processus de la nouvelle session WinDbg.
  4. Demandez au client IA d’utiliser connect_session avec cet ID de processus.
  5. Vérifiez que le client signale une connexion à la nouvelle session et vérifiez son type cible et son état d’exécution par rapport à la fenêtre WinDbg sélectionnée.

Déconnecter le client IA de la session WinDbg actuelle

Utilisez cette procédure lorsque le client IA est connecté à une session WinDbg et que vous souhaitez mettre fin à cette connexion. Après la procédure, le client n’a aucune connexion à une session WinDbg ; WinDbg et MCP Service peuvent rester en cours d’exécution.

  1. Demandez au client IA d’utiliser disconnect_session.
  2. Vérifiez que le client signale que le proxy s’est déconnecté de la session WinDbg.

Un seul client MCP actif peut se connecter à une session WinDbg à la fois. Si une session est indisponible, déconnectez l’autre client IA de cette session, puis connectez le client prévu.