Configurar e usar o WinDbg MCP

Utilize o WinDbg MCP para investigar um alvo de depuração com um cliente de IA suportado enquanto revê as ações de depuração iniciadas pela IA no WinDbg. O WinDBG MCP utiliza o Protocolo de Contexto de Modelo (MCP) para fornecer ao cliente ferramentas de depuração WinDbg e contexto durante a análise.

As conclusões geradas pela IA não são definitivas. Valide as conclusões, evidências, suposições, estado alvo e comandos contra a saída no WinDbg.

Este artigo mostra como registar o WinDbg no Visual Studio Code com o GitHub Copilot ou o GitHub Copilot CLI, ligar o cliente selecionado à sessão do WinDbg pretendida e usar a ligação para depuração assistida por IA.

Prerequisites

  • Confirme se a sua empresa permite o WinDbg MCP. Os administradores podem desativá-lo ativando o modo restrito WinDbg.
  • Obtenha a versão 1.2610.1001.0 do WinDbg ou posterior na aplicação WinDbg da Microsoft Store ou no download do WinDbg.
  • Um dos seguintes clientes de IA suportados:
    • Visual Studio Code com GitHub Copilot
    • GitHub Copilot CLI
  • Autorização para usar o destino de depuração e os seus dados com o cliente de IA selecionado e o serviço de modelo configurado.
  • Revisão das orientações de segurança, privacidade e limite de sessões na visão geral do WinDbg MCP.

Instalar e ativar o WinDbg MCP

Nesta secção, regista o WinDbg como servidor MCP com o cliente de IA escolhido, inicia o serviço MCP para a sessão atual do WinDbg, que ativa o modo seguro por defeito, e liga o cliente a um alvo de depuração para que possa iniciar a análise assistida por IA. Não precisas de carregar ou ligar a um destino de depuração para ativar o servidor ou registar o WinDbg com um cliente de IA suportado.

Para instalar e ativar o servidor MCP, siga estes passos:

  1. Abra o WinDbg. Para o abrir, procura WinDbg no menu Iniciar e seleciona-o.

  2. No menu Ficheiro do WinDbg, selecione Definições.

  3. Na página de Definições, selecione definições de serviço MCP, selecione Ativar Servidor e depois selecione o seu cliente na lista Cliente. Selecione VS Code para Visual Studio Code com GitHub Copilot, ou selecione GitHub Copilot CLI se usar GitHub Copilot CLI.

    Captura de ecrã das definições do serviço MCP do WinDbg com Ativar Servidor selecionado e a lista de clientes expandida para VS Code, GitHub Copilot CLI e Personalizado.

  4. Usa os controlos numerados na fita WinDbg para instalar o servidor, iniciar o serviço e abrir o cliente.

    Captura de ecrã da fita WinDbg com os controlos de Instalar MCP, Serviço MCP e Chat Aberto numerados de um a três.

  5. Selecione Instalar MCP (1) para registar o WinDbg como servidor MCP com o cliente selecionado e depois complete qualquer confirmação que o cliente mostre. Uma notificação confirma que o WinDbg registou o servidor MCP junto do cliente selecionado.

    Captura de ecrã do WinDbg com uma notificação de configuração MCP confirmando que o servidor MCP do WinDbg foi adicionado à CLI do GitHub Copilot.

  6. Selecione o Serviço MCP (2) para iniciar o servidor MCP para a sessão atual do WinDbg. No Aviso de Privacidade e Segurança, reveja estes comportamentos do modo seguro:

    • Predefinição: O WinDbg seleciona Ativar o modo seguro quando o servidor MCP inicia por defeito.
    • Ativação: Se deixares a caixa de seleção selecionada quando o servidor MCP inicia, o modo seguro ativa-se. Após a ativação, o modo protegido não pode ser desligado e mantém-se ativo até o WinDbg reiniciar.
    • Configuração guardada: Desmarcar ou selecionar a caixa de seleção atualiza a configuração guardada Ficheiro>Definições>Definições do serviço MCP>Ativar o Modo Seguro para o Servidor MCP para corresponder ao estado da caixa de seleção.

    Confirme que autoriza o destino de depuração pretendido e os seus dados para uso com o cliente de IA selecionado e o seu serviço modelo configurado, e depois selecione Sim.

    Captura de ecrã do diálogo de Aviso de Privacidade e Segurança do WinDbg com Ativar modo seguro quando o servidor MCP inicia selecionado.

    O Aviso de Privacidade e Segurança do WinDbg explica que iniciar o servidor MCP pode expor informações sensíveis do alvo de depuração a partes não confiáveis. Avisa para não usar o servidor com dados pessoais, confidenciais, proprietários ou outros que não possui ou não está autorizado a divulgar. As operações de depuração impulsionadas por IA podem carregar ou executar direta ou indiretamente código não confiável, o que pode comprometer a segurança, danificar dados ou prejudicar o sistema ou dispositivos. O modo seguro reduz estes riscos ao restringir operações de depuração que podem carregar ou executar código não confiável, lançar processos ou realizar operações de ficheiros inseguras. O WinDbg seleciona por defeito a caixa **Ativar modo seguro quando o servidor MCP inicia**. O modo de segurança ativa quando o servidor arranca e mantém-se ativo até o WinDbg reiniciar. Desmarcar a caixa de seleção altera a definição do serviço MCP guardado. Selecionar **Sim** confirma os avisos e inicia o servidor; selecionar **Não** cancela a operação.

    Para mais informações sobre o modo seguro, consulte Modo seguro.

  7. Carregar ou anexar a um alvo de depuração.

  8. Selecione Abrir Chat (3) para abrir o cliente de IA selecionado e iniciar um chat.

Verifique a ligação MCP do WinDbg

  1. Confirme que a barra de estado do WinDbg mostra o cliente de IA ligado ao servidor MCP.

    Captura de ecrã da barra de estado do WinDbg mostrando que um cliente de IA está ligado ao servidor MCP.

  2. Confirme que o WinDbg MCP está disponível no cliente de IA.

  3. Digite o seguinte prompt:

    Use WinDbg MCP to report the current target type and execution state.
    
  4. Confirme que o cliente de IA utiliza as ferramentas MCP do WinDbg e reporta o tipo de alvo e o estado de execução que o WinDbg mostra.

Se o cliente não se ligar ou o resultado não corresponder ao destino, veja Solucionar problemas de configuração e ligação do MCP do WinDbg.

Analisar um alvo de depuração com o WinDbg MCP

Depois de verificar a ligação, tente um pedido de análise imediato:

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

Compare os resultados do cliente de IA com o estado alvo e a saída visível do depurador antes de agir sobre eles. Para ferramentas disponíveis e prompts integrados, consulte as ferramentas e prompts do WinDbg MCP. Para cenários suportados, veja Usar WinDbg MCP para depuração.

Escreva prompts eficazes para o WinDbg MCP

Dê ao cliente de IA contexto suficiente para selecionar as ferramentas WinDbg MCP apropriadas e produzir resultados que possa validar:

  • Identifique o alvo e a tarefa de depuração, como analisar um dump de falha, investigar um destino em execução ou examinar um rastreio de Time Travel Debugging.
  • Peça elementos de prova e pressupostos restantes, não apenas uma conclusão.
  • Peça os comandos de depuração relevantes, diagnósticos, revisão do código-fonte ou script quando precisar de um tipo específico de análise.
  • Especifique o formato de saída, como uma árvore, grelha, gráfico ou plano de investigação ordenado.
  • Compare o resultado com o estado do alvo, os comandos e a saída visível do depurador no WinDbg antes de agir sobre ele.

Gerir sessões WinDbg

Estes procedimentos assumem que concluiu a configuração, abriu o chat do cliente de IA suportado, confirmou que o MCP do WinDbg está disponível no cliente e iniciou o Serviço MCP em cada janela do WinDbg que pretende usar. Solicite os comandos de seleção de sessão através do chat do cliente de IA; não introduza os nomes das ferramentas diretamente no WinDbg.

O proxy WinDbg MCP liga-se automaticamente quando deteta exatamente uma sessão WinDbg disponível. Se houver mais do que uma sessão disponível, o cliente de IA permanece desconectado até selecionar uma sessão.

Conecte o cliente de IA quando houver várias sessões WinDbg disponíveis

Use este procedimento quando houver várias sessões WinDbg disponíveis e o cliente de IA não estiver ligado a uma. Após o procedimento, o cliente liga-se à sessão selecionada.

  1. Pede ao cliente de IA para usar list_sessions.
  2. Identifique o ID do processo para a sessão WinDbg pretendida no resultado.
  3. Pede ao cliente de IA para usar connect_session com esse ID de processo.
  4. Confirme que o cliente reporta uma conexão à sessão pretendida e que o seu estado alvo corresponde à janela WinDbg selecionada.

Muda o cliente de IA para outra sessão WinDbg

Use este procedimento quando o cliente de IA estiver ligado a uma única sessão WinDbg e quiser que utilize outra sessão. Após o procedimento, o cliente desliga-se da sessão original e liga-se à substituição selecionada.

  1. Pede ao cliente de IA para usar disconnect_session.
  2. Pede ao cliente de IA para usar list_sessions.
  3. Identifique o ID do processo para a nova sessão WinDbg.
  4. Pede ao cliente de IA para usar connect_session com esse ID de processo.
  5. Confirme que o cliente reporta uma ligação à nova sessão e verifique o seu tipo alvo e estado de execução comparando com a janela do WinDbg selecionada.

Desconecte o cliente de IA da sessão atual do WinDbg

Use este procedimento quando o cliente de IA estiver ligado a uma sessão WinDbg e quiser terminar essa ligação. Após o procedimento, o cliente não tem ligação a uma sessão WinDbg; o WinDbg e MCP Service podem continuar a funcionar.

  1. Pede ao cliente de IA para usar disconnect_session.
  2. Confirme que o cliente reporta que o proxy se desconectou da sessão WinDbg.

Apenas um cliente MCP ativo pode ligar-se a uma sessão WinDbg de cada vez. Se uma sessão não estiver disponível, desconecte o outro cliente de IA dessa sessão e depois conecte o cliente pretendido.