WinDbg MCP を使用して、サポートされている AI クライアントを使用してデバッグ ターゲットを調査し、WinDbg で AI によって開始されるデバッガー アクションを確認します。 WinDbg MCP は、モデル コンテキスト プロトコル (MCP) を使用して、分析中にクライアントに WinDbg デバッガー ツールとコンテキストを提供します。
AI によって生成された結果は信頼できるものではありません。 WinDbg の出力に対して、調査結果、証拠、前提条件、ターゲット システムの状態、コマンドを検証します。
この記事では、winDbg を GitHub Copilot または GitHub Copilot CLI でVisual Studio Codeに登録し、選択したクライアントを目的の WinDbg セッションに接続し、AI 支援デバッグに接続を使用する方法について説明します。
前提条件
- 組織で WinDbg MCP が許可されていることを確認してください。 管理者は、WinDbg 制限モードを有効にすることで無効にすることができます。
- Microsoft Store WinDbg アプリまたは WinDbg ダウンロードから WinDbg バージョン 1.2610.1001.0 以降を入手してください。
- サポートされている次のいずれかの AI クライアント:
- GitHub Copilotを使用したVisual Studio Code
- GitHub Copilot CLI(コマンドラインインターフェース)
- 選択した AI クライアントとその構成済みモデル サービスでデバッグ ターゲットとそのデータを使用するための承認。
- WinDbg MCP の概要のセキュリティ、プライバシー、およびセッション制限のガイダンスのレビュー
WinDbg MCP をインストールして有効にする
このセクションでは、選択した AI クライアントに WinDbg を MCP サーバーとして登録し、現在の WinDbg セッションの MCP サービスを開始します。これにより、既定でセキュリティ で保護されたモードが有効になり、クライアントをデバッグ ターゲットに接続して、AI 支援分析を開始できます。 サーバーを有効にしたり、サポートされている AI クライアントに WinDbg を登録したりするために、デバッグ ターゲットを読み込んだりアタッチしたりする必要はありません。
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 が再起動するまでアクティブなままになります。
- 保存された設定:チェック ボックスをオフまたは選択すると、保存された File>Settings>MCP サービス設定>MCP サーバーのセキュア モードを有効にするがチェックボックスの状態と一致するように更新されます。
選択した AI クライアントとその構成済みモデル サービスで使用する目的のデバッグ ターゲットとそのデータの使用を許可することを確認し、[ はい] を選択します。
WinDbg のプライバシーとセキュリティに関する警告では、MCP サーバーを起動すると、機密性の高いデバッグ対象の情報が信頼されていない関係者に公開される可能性があることを説明します。 お客様が所有していない、または開示する権限を持たない個人データ、機密データ、専有データ、またはその他のデータでサーバーを使用しないよう警告しています。 AI 駆動型デバッグ操作では、信頼されていないコードを直接または間接的に読み込んだり実行したりする可能性があるため、セキュリティが損なわれたり、データが破損したり、システムやデバイスに害を及ぼしたりするおそれがあります。 セキュリティで保護されたモードでは、信頼されていないコードを読み込んだり実行したり、プロセスを起動したり、安全でないファイル操作を実行したりするデバッガー操作を制限することで、これらのリスクを軽減します。 WinDbg は、既定で [MCP サーバーの起動時にセキュリティで保護されたモードを有効にする] チェック ボックスをオンにします。 セキュリティで保護されたモードは、サーバーの起動時にアクティブになり、WinDbg が再起動するまでアクティブなままです。 チェックボックスをオフにすると、保存された MCP サービス設定が変更されます。 **[はい]** を選択すると、警告を確認したうえでサーバーが起動します。**[いいえ]** を選択すると、操作が取り消されます。
セキュア モードの詳細については、「 セキュア モード」を参照してください。
デバッグ ターゲットをロードするか、アタッチする。
[ チャットを開く ] (3) を選択して、選択した AI クライアントでチャットを開始します。
WinDbg MCP 接続を確認する
WinDbg ステータス バーに MCP サーバーに接続された AI クライアント が表示されていることを確認します。
WINDbg MCP が AI クライアントで使用可能であることを確認します。
次のプロンプトを入力します。
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 プロンプトを作成する
適切な WinDbg MCP ツールを選択し、検証できる結果を生成するのに十分なコンテキストを AI クライアントに提供します。
- クラッシュ ダンプの分析、ライブ ターゲットの調査、タイム トラベル デバッグ トレースの調査など、デバッグ ターゲットとタスクを特定します。
- 結論だけでなく、裏付けとなる証拠と残っている前提を求めます。
- 特定の種類の分析が必要な場合は、関連するデバッガー コマンド、診断、ソース レビュー、またはスクリプトを要求してください。
- ツリー、グリッド、グラフ、順序付けされた調査計画などの出力形式を指定します。
- それに基づいて対処する前に、結果を WinDbg のターゲットの状態、コマンド、および表示されるデバッガー出力と比較します。
WinDbg セッションの管理
これらの手順では、セットアップを完了し、サポートされている AI クライアントのチャットを開き、WinDbg MCP がクライアントで使用可能であることを確認し、使用する各 WinDbg ウィンドウで MCP サービス を開始したことを前提としています。 AI クライアント チャットを使用してセッション選択コマンドを要求します。WinDbg にツール名を直接入力しないでください。
WinDbg MCP プロキシは、使用可能な WinDbg セッションが 1 つだけ検出されると自動的に接続します。 複数のセッションが使用可能な場合、AI クライアントはセッションを選択するまで切断されたままになります。
複数の WinDbg セッションが使用可能な場合に AI クライアントに接続する
複数の WinDbg セッションが使用可能で、AI クライアントが 1 つに接続されていない場合は、この手順を使用します。 手順の後、クライアントは選択したセッションに接続します。
- AI クライアントに を使用するよう依頼します。
- 結果内の目的の WinDbg セッションのプロセス ID を識別します。
- そのプロセス ID で
connect_sessionを使用するように AI クライアントに依頼します。 - クライアントが目的のセッションへの接続を報告し、そのターゲット状態が選択した WinDbg ウィンドウと一致することを確認します。
AI クライアントを別の WinDbg セッションに切り替える
この手順は、AI クライアントが 1 つの WinDbg セッションに接続されていて、別のセッションを使用する場合に使用します。 手順の後、クライアントは元のセッションから切断し、選択した代替セッションに接続します。
- を使用するように AI クライアントに依頼します。
- を使用するように AI クライアントに依頼します。
- 新しい WinDbg セッションのプロセス ID を識別します。
- そのプロセス ID で
connect_sessionを使用するように AI クライアントに依頼します。 - クライアントが新しいセッションに接続していることを確認し、選択した WinDbg ウィンドウに対してそのターゲットの種類と実行状態を確認します。
現在の WinDbg セッションから AI クライアントを切断する
この手順は、AI クライアントが WinDbg セッションに接続されていて、その接続を終了する場合に使用します。 この手順の後、クライアントは WinDbg セッションに接続されていません。WinDbg と MCP サービス は実行したままにできます。
- AI クライアントに を使用するように依頼します。
- クライアントが、プロキシが WinDbg セッションから切断されたことを報告していることを確認します。
一度に 1 つの WinDbg セッションに接続できるアクティブな MCP クライアントは 1 つだけです。 利用できるセッションがない場合は、そのセッションから他の AI クライアントを切断し、目的のクライアントを接続します。