WinDbg MCP를 사용하여 WinDbg에서 AI에 의해 시작된 디버거 작업을 검토하는 동안 지원되는 AI 클라이언트를 사용하여 디버깅 대상을 조사합니다. WinDbg MCP는 MCP(모델 컨텍스트 프로토콜)를 사용하여 분석 중에 클라이언트에 WinDbg 디버거 도구 및 컨텍스트를 제공합니다.
AI에서 생성된 결과는 권위 있는 정보가 아닙니다. WinDbg의 출력에 대해 발견 사항, 증거, 가정, 대상 상태 및 명령의 유효성을 검사합니다.
이 문서에서는 GitHub Copilot 또는 GitHub Copilot CLI를 사용하여 WinDbg를 Visual Studio Code에 등록하고, 선택한 클라이언트를 의도한 WinDbg 세션에 연결하고, AI 지원 디버깅에 해당 연결을 사용하는 방법을 보여 드립니다.
필수 조건
- 조직에서 WinDbg MCP를 허용하는지 확인합니다. 관리자는 WinDbg 제한 모드를 사용하도록 설정하여 이를 비활성화할 수 있습니다.
- Microsoft Store WinDbg 앱 또는 WinDbg 다운로드에서 WinDbg 버전 1.2610.1001.0 이상을 다운로드하세요.
- 지원되는 다음 AI 클라이언트 중 하나:
- Visual Studio Code에서 GitHub Copilot 사용
- GitHub Copilot 명령 줄 인터페이스 (CLI)
- 선택한 AI 클라이언트 및 구성된 모델 서비스와 함께 디버깅 대상 및 해당 데이터를 사용할 수 있는 권한 부여입니다.
- WinDbg MCP 개요의 보안, 개인 정보 보호 및 세션 제한 지침을 검토합니다.
WinDbg MCP 설치 및 활성화
이 섹션에서는 선택한 AI 클라이언트를 사용하여 MCP 서버로 WinDbg를 등록하고, 기본적으로 보안 모드가 활성화된 현재 WinDbg 세션의 MCP 서비스를 시작하며, AI 지원 분석을 시작할 수 있도록 클라이언트를 디버깅 대상에 연결합니다. 서버를 사용하도록 설정하거나 WinDbg를 지원되는 AI 클라이언트에 등록하기 위해 디버깅 대상을 로드하거나 연결할 필요가 없습니다.
MCP 서버를 설치하고 사용하도록 설정하려면 다음 단계를 수행합니다.
WinDbg를 엽니다. 이를 열려면 시작 메뉴에서 WinDbg 를 검색하고 선택합니다.
WinDbg 파일 메뉴에서 설정을 선택합니다.
설정 페이지에서 MCP 서비스 설정을 선택하고 서버 활성화를 선택한 다음 클라이언트 목록에서 클라이언트를 선택합니다. GitHub Copilot이 포함된 Visual Studio Code의 경우 VS Code를 선택하고, GitHub Copilot CLI를 사용하는 경우 GitHub Copilot CLI를 선택하세요.
WinDbg 리본의 번호가 매겨진 컨트롤을 사용하여 서버를 설치하고, 서비스를 시작하고, 클라이언트를 엽니다.
MCP 설치(1)를 선택하여 선택한 클라이언트에 WinDbg를 MCP 서버로 등록한 다음 클라이언트가 표시하는 확인을 완료합니다. 알림은 WinDbg가 선택한 클라이언트에 MCP 서버를 등록했음을 확인합니다.
MCP 서비스(2)를 선택하여 현재 WinDbg 세션에 대한 MCP 서버를 시작합니다. 개인 정보 및 보안 경고에서 다음 보안 모드 동작을 검토합니다.
- 기본값: WinDbg는 기본적으로 MCP 서버가 시작될 때 보안 모드 사용을 선택합니다.
- 활성화: MCP 서버가 시작될 때 선택된 확인란을 그대로 두면 보안 모드가 활성화됩니다. 활성화 후에는 보안 모드를 해제할 수 없으며 WinDbg가 다시 시작될 때까지 활성 상태로 유지됩니다.
- 저장된 설정: 확인란을 선택 취소하거나 선택하면 저장된 파일>설정>MCP 서비스 설정>MCP 서버에 보안 모드 사용 설정이 확인란 상태와 일치하도록 업데이트됩니다.
선택한 AI 클라이언트 및 구성된 모델 서비스에서 사용할 의도된 디버깅 대상 및 해당 데이터에 권한을 부여하는지 확인한 다음, 예를 선택합니다.
WinDbg 개인 정보 보호 및 보안 경고는 MCP 서버를 시작하면 신뢰할 수 없는 당사자에게 중요한 디버깅 대상 정보를 노출할 수 있음을 설명합니다. 사용자가 소유하지 않거나 공개할 권한이 없는 개인, 기밀, 독점적 데이터 또는 기타 데이터와 함께 서버를 사용하지 않도록 경고합니다. AI 기반 디버깅 작업은 신뢰할 수 없는 코드를 직접 또는 간접적으로 로드하거나 실행할 수 있으며, 이로 인해 보안이 손상되거나 데이터가 손상되거나 시스템 또는 디바이스가 손상될 수 있습니다. 보안 모드는 신뢰할 수 없는 코드를 로드하거나 실행하거나 프로세스를 시작하거나 안전하지 않은 파일 작업을 수행할 수 있는 디버거 작업을 제한하여 이러한 위험을 줄입니다. WinDbg는 기본적으로 **MCP 서버가 시작될 때 보안 모드 사용** 확인란을 선택합니다. 보안 모드는 서버가 시작될 때 활성화되고 WinDbg가 다시 시작될 때까지 활성 상태로 유지됩니다. 확인란을 선택 취소하면 저장된 MCP 서비스 설정이 변경됩니다. **예**를 선택하면 경고를 확인하고 서버가 시작됩니다. **아니요**를 선택하면 작업이 취소됩니다.
보안 모드에 대한 자세한 내용은 보안 모드를 참조하세요.
디버깅 대상을 로드하거나 대상에 연결합니다.
채팅 열기(3)를 선택하여 선택한 AI 클라이언트를 열고 채팅을 시작합니다.
WinDbg MCP 연결 확인
WinDbg 상태 표시줄에 AI 클라이언트가 MCP 서버에 연결됨이 표시되는지 확인합니다.
AI 클라이언트에서 WinDbg MCP를 사용할 수 있는지 확인합니다.
다음 프롬프트를 입력합니다.
Use WinDbg MCP to report the current target type and execution state.AI 클라이언트가 WinDbg MCP 도구를 사용하고 WinDbg에서 표시하는 대상 유형 및 실행 상태를 보고하는지 확인합니다.
클라이언트가 연결되지 않거나 결과가 대상과 일치하지 않는 경우 WinDbg MCP 설정 및 연결 문제 해결을 참조하세요.
WinDbg MCP를 사용하여 디버깅 대상 분석
연결을 확인한 후 즉시 분석 프롬프트를 시도해 보세요.
Analyze this debugging target and provide the likely cause, supporting evidence, and remaining assumptions.
AI 클라이언트의 결과를 대상 상태 및 표시되는 디버거 출력과 비교한 후 조치를 취하기 전에. 사용 가능한 도구 및 기본 제공 프롬프트는 WinDbg MCP 도구 및 프롬프트를 참조하세요. 지원되는 시나리오는 디버깅에 WinDbg MCP 사용을 참조하세요.
효과적인 WinDbg MCP 프롬프트 작성
AI 클라이언트가 적절한 WinDbg MCP 도구를 선택하고 사용자가 유효성을 검사할 수 있는 결과를 생성하도록 충분한 컨텍스트를 제공하세요:
- 크래시 덤프 분석, 라이브 대상 조사 또는 시간 이동 디버깅 추적 검사와 같은 디버깅 대상 및 작업을 식별합니다.
- 결론만이 아니라 이를 뒷받침하는 근거와 남아 있는 가정도 요청하세요.
- 특정 유형의 분석이 필요한 경우 관련 디버거 명령, 진단, 원본 검토 또는 스크립트를 요청하세요.
- 트리, 그리드, 그래프 또는 순서가 지정된 조사 계획과 같은 출력 형식을 지정합니다.
- 결과를 조치하기 전에 WinDbg의 대상 상태, 명령 및 표시되는 디버거 출력과 비교합니다.
WinDbg 세션 관리
이러한 절차에서는 설치를 완료하고, 지원되는 AI 클라이언트의 채팅을 열고, 클라이언트에서 WinDbg MCP를 사용할 수 있는지 확인하고, 사용하려는 각 WinDbg 창에서 MCP 서비스를 시작했다고 가정합니다. AI 클라이언트 채팅을 통해 세션 선택 명령을 요청합니다. 도구 이름을 WinDbg에 직접 입력하지 마세요.
WinDbg MCP 프록시는 사용 가능한 WinDbg 세션을 정확히 하나 감지하면 자동으로 연결됩니다. 둘 이상의 세션을 사용할 수 있는 경우 세션을 선택할 때까지 AI 클라이언트의 연결이 끊어진 상태로 유지됩니다.
여러 WinDbg 세션을 사용할 수 있는 경우 AI 클라이언트를 연결합니다
여러 WinDbg 세션을 사용할 수 있고 AI 클라이언트가 그중 하나에 연결되지 않은 경우 이 절차를 사용합니다. 절차 후에 클라이언트가 선택한 세션에 연결합니다.
- AI 클라이언트에
list_sessions를 사용하도록 요청합니다. - 결과에서 의도한 WinDbg 세션의 프로세스 ID를 식별합니다.
- AI 클라이언트에 해당 프로세스 ID와 함께
connect_session를 사용하도록 요청합니다. - 클라이언트가 의도한 세션에 대한 연결을 보고하고 대상 상태가 선택한 WinDbg 창과 일치하는지 확인합니다.
AI 클라이언트가 다른 WinDbg 세션을 사용하도록 전환
AI 클라이언트가 한 WinDbg 세션에 연결되어 있고 다른 세션을 사용하려는 경우 이 절차를 사용합니다. 프로시저가 끝나면 클라이언트가 원래 세션에서 연결을 끊고 선택한 대체 세션에 연결합니다.
- AI 클라이언트가
disconnect_session를 사용하도록 요청합니다. - AI 클라이언트에
list_sessions를 사용하도록 요청합니다. - 새 WinDbg 세션의 프로세스 ID를 식별합니다.
- AI 클라이언트에 해당 프로세스 ID와 함께
connect_session를 사용하도록 요청합니다. - 클라이언트가 새 세션에 연결되었다고 보고하는지 확인하고 선택한 WinDbg 창에 대해 대상 유형 및 실행 상태를 검증합니다.
현재 WinDbg 세션에서 AI 클라이언트 연결 끊기
AI 클라이언트가 WinDbg 세션에 연결되어 있고 해당 연결을 종료하려는 경우 이 절차를 사용합니다. 프로시저 후 클라이언트는 WinDbg 세션에 연결되지 않습니다. WinDbg 및 MCP 서비스는 계속 실행될 수 있습니다.
- AI 클라이언트에
disconnect_session를 사용하도록 요청합니다. - 클라이언트에서 프록시가 WinDbg 세션에서 연결이 끊어졌다고 보고했음을 확인합니다.
한 번에 하나의 활성 MCP 클라이언트만 WinDbg 세션에 연결할 수 있습니다. 세션을 사용할 수 없으면 해당 세션에서 다른 AI 클라이언트의 연결을 끊은 다음, 의도한 클라이언트를 연결합니다.