Konfigurowanie i używanie narzędzia WinDbg MCP

Użyj narzędzia WinDbg MCP, aby zbadać cel debugowania z obsługiwanym klientem sztucznej inteligencji podczas przeglądania akcji debugera zainicjowanych przez sztuczną inteligencję w usłudze WinDbg. WinDbg MCP używa protokołu MCP (Model Context Protocol) do udostępniania klientowi narzędzi debugera WinDbg i kontekstu podczas analizy.

Wyniki generowane przez sztuczną inteligencję nie są autorytatywne. Zweryfikuj wyniki, materiał dowodowy, założenia, stan docelowy i polecenia względem wyników w programie WinDbg.

W tym artykule pokazano, jak zarejestrować WinDbg w programie Visual Studio Code za pomocą GitHub Copilot lub GitHub Copilot CLI, połączyć wybranego klienta z docelową sesją WinDbg i użyć połączenia do debugowania wspomaganego przez sztuczną inteligencję.

Prerequisites

  • Upewnij się, że Twoja organizacja zezwala na mcp WinDbg. Administratorzy mogą ją wyłączyć, włączając tryb ograniczony WinDbg.
  • Pobierz program WinDbg w wersji 1.2610.1001.0 lub nowszej z aplikacji WinDbg ze sklepu Microsoft Store albo z pobierania WinDbg.
  • Jeden z następujących obsługiwanych klientów sztucznej inteligencji:
    • Program Visual Studio Code z rozwiązaniem GitHub Copilot
    • interfejs wiersza polecenia GitHub Copilot
  • Autoryzacja do korzystania z obiektu docelowego debugowania i jego danych przez wybranego klienta sztucznej inteligencji i skonfigurowaną dla niego usługę modelu.
  • Przegląd wskazówek dotyczących zabezpieczeń, prywatności i limitu sesji w temacie Omówienie programu WinDbg MCP.

Zainstaluj i włącz WinDbg MCP

W tej sekcji zarejestruj WinDbg jako serwer MCP przy użyciu wybranego klienta sztucznej inteligencji, uruchom usługę MCP dla bieżącej sesji WinDbg, która domyślnie włącza tryb bezpieczny, i połącz klienta z celem debugowania, aby rozpocząć analizę wspomaganą przez sztuczną inteligencję. Nie musisz ładować ani dołączać do obiektu docelowego debugowania, aby włączyć serwer lub zarejestrować program WinDbg przy użyciu obsługiwanego klienta sztucznej inteligencji.

Aby zainstalować i włączyć serwer MCP, wykonaj następujące kroki:

  1. Otwórz plik WinDbg. Aby go otworzyć, wyszukaj ciąg WinDbg w menu Start i wybierz go.

  2. W menu Plik WinDbg wybierz pozycję Ustawienia.

  3. Na stronie Ustawienia wybierz pozycję Ustawienia usługi MCP, wybierz pozycję Włącz serwer, a następnie wybierz klienta na liście Klient . Wybierz program VS Code dla Visual Studio Code z GitHub Copilot lub wybierz GitHub Copilot CLI, jeśli używasz GitHub Copilot CLI.

    Zrzut ekranu przedstawiający ustawienia usługi WinDbg MCP z wybraną opcją Włącz serwer oraz z rozwiniętą listą klientów pokazującą VS Code, GitHub Copilot CLI i Custom.

  4. Użyj kontrolek numerowanych na wstążce WinDbg, aby zainstalować serwer, uruchomić usługę i otworzyć klienta.

    Zrzut ekranu przedstawiający wstążkę WinDbg z kontrolkami Install MCP, MCP Service i Open Chat numerowane jeden do trzech.

  5. Wybierz pozycję Zainstaluj MCP (1), aby zarejestrować WinDbg jako serwer MCP w wybranym kliencie, a następnie ukończ wszelkie potwierdzenia wyświetlane przez klienta. Powiadomienie potwierdza, że WinDbg zarejestrował serwer MCP w wybranym kliencie.

    Zrzut ekranu systemu WinDbg z powiadomieniem o konfiguracji MCP z potwierdzeniem dodania serwera WinDbg MCP do interfejsu wiersza polecenia GitHub Copilot.

  6. Wybierz pozycję Usługa MCP (2), aby uruchomić serwer MCP dla bieżącej sesji WinDbg. W oknie Ostrzeżenie dotyczące prywatności i zabezpieczeń przejrzyj następujące zachowania trybu bezpiecznego:

    • Ustawienie domyślne: WinDbg wybiera opcję Włącz tryb bezpieczny podczas uruchamiania serwera MCP.
    • Aktywacja: Jeśli pozostawisz pole wyboru zaznaczone, gdy serwer MCP się uruchamia, tryb bezpieczny zostanie aktywowany. Po aktywacji nie można wyłączyć trybu bezpiecznego i pozostaje aktywny do momentu ponownego uruchomienia WinDbg.
    • Zapisane ustawienie: Wyczyszczenie lub zaznaczenie pola wyboru powoduje zaktualizowanie zapisanego ustawienia Plik>Ustawienia>Ustawienia usługi MCP>Włącz tryb bezpieczny dla serwera MCP, aby odpowiadało stanowi pola wyboru.

    Upewnij się, że autoryzujesz wybrany cel debugowania i jego dane do użycia z wybranym klientem sztucznej inteligencji i skonfigurowaną usługą modelu, a następnie wybierz pozycję Tak.

    Zrzut ekranu przedstawiający okno dialogowe Ostrzeżenie dotyczące prywatności i zabezpieczeń WinDbg z zaznaczoną opcją Włącz tryb bezpieczny po uruchomieniu serwera MCP.

    Ostrzeżenie dotyczące prywatności i zabezpieczeń usługi WinDbg wyjaśnia, że uruchomienie serwera MCP może ujawniać poufne informacje o debugowanym obiekcie niezaufanym stronom. Ostrzega, aby nie używać serwera z danymi osobistymi, poufnymi, zastrzeżonymi ani innymi danymi, których nie posiadasz ani nie masz uprawnień do ich ujawnienia. Operacje debugowania oparte na sztucznej inteligencji mogą bezpośrednio lub pośrednio ładować lub wykonywać niezaufany kod, co może naruszyć bezpieczeństwo, uszkodzić dane lub zaszkodzić systemowi lub urządzeniom. Tryb bezpieczny zmniejsza te zagrożenia, ograniczając operacje debugera, które mogą ładować lub wykonywać niezaufany kod, uruchamiać procesy lub wykonywać niebezpieczne operacje na plikach. WinDbg domyślnie zaznacza pole wyboru **Włącz tryb bezpieczny po uruchomieniu serwera MCP**. Tryb bezpieczny jest aktywowany po uruchomieniu serwera i pozostaje aktywny do momentu ponownego uruchomienia programu WinDbg. Wyczyszczenie pola wyboru powoduje zmianę zapisanego ustawienia usługi MCP. Wybranie pozycji **Tak** potwierdza ostrzeżenia i uruchamia serwer; wybranie pozycji **Nie** anuluje tę operację.

    Aby uzyskać więcej informacji na temat trybu bezpiecznego, zobacz Tryb bezpieczny.

  7. Załaduj lub dołącz do celu debugowania.

  8. Wybierz pozycję Otwórz czat (3), aby otworzyć wybranego klienta sztucznej inteligencji i rozpocząć czat.

Weryfikowanie połączenia MCP WinDbg

  1. Upewnij się, że na pasku stanu WinDbg jest wyświetlany klient sztucznej inteligencji połączony z serwerem MCP.

    Zrzut ekranu przedstawiający pasek stanu WinDbg przedstawiający, że klient sztucznej inteligencji jest połączony z serwerem MCP.

  2. Upewnij się, że usługa WinDbg MCP jest dostępna w kliencie sztucznej inteligencji.

  3. Wprowadź następujące polecenie:

    Use WinDbg MCP to report the current target type and execution state.
    
  4. Upewnij się, że klient sztucznej inteligencji używa narzędzi WinDbg MCP i zgłasza typ docelowy i stan wykonywania wyświetlane przez WinDbg.

Jeśli klient nie nawiązuje połączenia lub wynik nie jest zgodny z celem, zobacz Rozwiązywanie problemów z konfiguracją i połączeniem usługi WinDbg MCP.

Analizuj obiekt debugowania za pomocą narzędzia WinDbg MCP

Po zweryfikowaniu połączenia spróbuj natychmiast wykonać polecenie analizy:

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

Porównaj wyniki klienta sztucznej inteligencji ze stanem docelowym i widocznymi danymi wyjściowymi debugera, zanim podejmiesz działania na ich podstawie. Informacje o dostępnych narzędziach i wbudowanych promptach można znaleźć w sekcji Narzędzia i prompty MCP WinDbg. Aby uzyskać informacje na temat obsługiwanych scenariuszy, zobacz Używanie narzędzia WinDbg MCP do debugowania.

Pisz skuteczne prompty MCP WinDbg

Nadaj klientowi sztucznej inteligencji wystarczający kontekst, aby wybrać odpowiednie narzędzia WinDbg MCP i wygenerować wyniki, które można zweryfikować:

  • Zidentyfikuj cel debugowania i zadanie, takie jak analizowanie zrzutu awaryjnego, badanie aktywnego celu debugowania lub badanie śladu funkcji Time Travel Debugging.
  • Poproś o dowody potwierdzające i pozostałe założenia, a nie tylko wniosek.
  • Zażądaj odpowiednich poleceń debugera, diagnostyki, przeglądu źródła lub skryptu, jeśli potrzebujesz określonego typu analizy.
  • Określ format danych wyjściowych, taki jak drzewo, siatka, graf lub uporządkowany plan badania.
  • Porównaj wynik ze stanem docelowym, poleceniami i widocznymi danymi wyjściowymi debugera w usłudze WinDbg, zanim podejmiesz działania wobec niego.

Zarządzanie sesjami WinDbg

W tych procedurach przyjęto założenie, że konfiguracja została ukończona, otwarto obsługiwany czat klienta sztucznej inteligencji, potwierdzono, że WinDbg MCP jest dostępny w kliencie, i uruchomiono usługę MCP w każdym oknie WinDbg, którego chcesz użyć. Poproś na czacie klienta AI o polecenia wyboru sesji; nie wprowadzaj nazw narzędzi bezpośrednio w programie WinDbg.

Serwer proxy MCP WinDbg łączy się automatycznie, gdy wykryje dokładnie jedną dostępną sesję WinDbg. Jeśli jest dostępna więcej niż jedna sesja, klient sztucznej inteligencji pozostaje odłączony do momentu wybrania sesji.

Połącz klienta sztucznej inteligencji, gdy dostępnych jest wiele sesji WinDbg

Użyj tej procedury, gdy dostępnych jest wiele sesji WinDbg, a klient sztucznej inteligencji nie jest połączony z żadną z nich. Po wykonaniu procedury klient nawiązuje połączenie z wybraną sesją.

  1. Poproś klienta sztucznej inteligencji o użycie list_sessions.
  2. Zidentyfikuj identyfikator procesu dla zamierzonej sesji WinDbg w wyniku.
  3. Poproś klienta sztucznej inteligencji o użycie connect_session z tym identyfikatorem procesu.
  4. Upewnij się, że klient zgłasza połączenie z właściwą sesją i że jego stan docelowy jest zgodny z wybranym oknem WinDbg.

Przełącz klienta sztucznej inteligencji na inną sesję WinDbg

Użyj tej procedury, gdy klient sztucznej inteligencji jest połączony z jedną sesją WinDbg i chcesz, aby używał innej sesji. Po wykonaniu procedury klient rozłącza się z oryginalną sesją i nawiązuje połączenie z wybraną sesją zastępczą.

  1. Poproś klienta AI o użycie disconnect_session.
  2. Poproś klienta AI o użycie polecenia list_sessions.
  3. Zidentyfikuj identyfikator procesu dla nowej sesji WinDbg.
  4. Poproś klienta sztucznej inteligencji, aby użył connect_session z tym identyfikatorem procesu.
  5. Upewnij się, że klient jest połączony z nową sesją i zweryfikuj jego typ docelowy i stan wykonania względem wybranego okna WinDbg.

Odłącz klienta sztucznej inteligencji od bieżącej sesji WinDbg

Użyj tej procedury, gdy klient sztucznej inteligencji jest połączony z sesją WinDbg i chcesz zakończyć to połączenie. Po wykonaniu procedury klient nie ma połączenia z sesją WinDbg; Usługi WinDbg i MCP Service mogą pozostać uruchomione.

  1. Poproś klienta sztucznej inteligencji, aby użył disconnect_session.
  2. Upewnij się, że klient zgłasza, że serwer proxy został odłączony od sesji WinDbg.

Tylko jeden aktywny klient MCP może łączyć się z sesją WinDbg naraz. Jeśli sesja jest niedostępna, odłącz innego klienta sztucznej inteligencji od tej sesji, a następnie połącz właściwego klienta.