Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте WinDbg MCP для анализа цели отладки с поддерживаемым клиентом ИИ при просмотре действий, инициированных ИИ, в WinDbg. WinDbg MCP использует протокол Model Context Protocol (MCP) для предоставления клиенту средств отладки WinDbg и контекста во время анализа.
Выводы, созданные искусственным интеллектом, не являются авторитетными. Сверьте результаты, доказательства, предположения, целевое состояние и команды с выводом в WinDbg.
В этой статье показано, как зарегистрировать WinDbg в Visual Studio Code с помощью GitHub Copilot или интерфейса командной строки GitHub Copilot, подключить выбранный клиент к нужному сеансу WinDbg и использовать подключение для отладки с помощью искусственного интеллекта.
Prerequisites
- Убедитесь, что ваша организация разрешает WinDbg MCP. Администраторы могут отключить эту функцию, включив ограниченный режим WinDbg.
- Получите WinDbg версии 1.2610.1001.0 или более позднюю версию в приложении WinDbg в Microsoft Store или по ссылке на скачивание WinDbg.
- Один из следующих поддерживаемых клиентов ИИ:
- Visual Studio Code с GitHub Copilot
- GitHub Copilot CLI
- Разрешение на использование целевого объекта отладки и его данных с выбранным клиентом ИИ и настроенной службой модели.
- Обзор рекомендаций по безопасности, конфиденциальности и ограничению сеансов в WinDbg MCP overview.
Установите и включите WinDbg MCP
В этом разделе описано, как зарегистрировать WinDbg в качестве сервера MCP в выбранном клиенте ИИ, запустить службу MCP для текущего сеанса WinDbg, при этом по умолчанию включается безопасный режим, и подключить клиента к целевому объекту отладки, чтобы начать анализ с помощью ИИ. Вам не нужно загружать или подключаться к целевому объекту отладки, чтобы включить сервер или зарегистрировать WinDbg для поддерживаемого ИИ-клиента.
Чтобы установить и включить сервер MCP, выполните следующие действия.
Откройте WinDbg. Чтобы открыть его, найдите WinDbg в меню "Пуск" и выберите его.
В меню Файл программы WinDbg выберите Параметры.
На странице "Параметры" выберите параметры службы MCP, выберите Включить сервер, а затем выберите своего клиента в списке Клиент. Выберите VS Code для Visual Studio Code с GitHub Copilot или выберите GitHub Copilot CLI, если вы используете GitHub Copilot CLI.
Используйте нумерованные элементы управления на ленте WinDbg, чтобы установить сервер, запустить службу и открыть клиент.
Выберите Установить MCP (1), чтобы зарегистрировать WinDbg в качестве сервера MCP с выбранным клиентом, а затем выполните все запросы на подтверждение, которые покажет клиент. Уведомление подтверждает, что WinDbg зарегистрировал сервер MCP для выбранного клиента.
Выберите службу MCP (2), чтобы запустить сервер MCP для текущего сеанса WinDbg. В предупреждении о конфиденциальности и безопасности просмотрите следующие особенности безопасного режима:
- По умолчанию: WinDbg выбирает Включать безопасный режим при запуске сервера MCP по умолчанию.
- Активация: Если флажок оставлен установленным при запуске сервера MCP, активируется безопасный режим. После активации режим безопасности не может быть отключен и остается активным до перезапуска WinDbg.
- Сохраненный параметр: Снятие или установка флажка обновляет сохраненную настройку Файл>Параметры>Параметры службы MCP>Включить безопасный режим для сервера MCP в соответствии с состоянием флажка.
Убедитесь, что вы разрешаете использование целевого объекта отладки и его данных с выбранным клиентом ИИ и настроенной службой модели, а затем нажмите Да.
Предупреждение о конфиденциальности и безопасности WinDbg объясняет, что запуск сервера MCP может предоставлять конфиденциальные сведения о целевом объекте отладки ненадежным сторонам. Предупреждается не использовать сервер с личными, конфиденциальными, конфиденциальными или другими данными, которые вам не принадлежат или которые вы не уполномочены раскрывать. Операции отладки на основе искусственного интеллекта могут напрямую или косвенно загружать или выполнять ненадежный код, что может поставить под угрозу безопасность, повредить данные или нанести ущерб системе или устройствам. Безопасный режим снижает эти риски путем ограничения операций отладчика, которые могут загружать или выполнять ненадежный код, запускать процессы или выполнять небезопасные операции с файлами. WinDbg по умолчанию устанавливает флажок **Включить безопасный режим при запуске сервера MCP**. Безопасный режим активируется при запуске сервера и остается активным до перезапуска WinDbg. Снятие флажка изменяет сохраненный параметр службы MCP. Выбор **Да** подтверждает предупреждения и запускает сервер; При выборе **Нет** операция отменяется.
Дополнительные сведения о защищенном режиме см. в разделе «Защищенный режим».
Загрузите или подключитесь к целевому объекту отладки.
Выберите "Открыть чат " (3), чтобы открыть выбранный клиент ИИ и запустить чат.
Проверьте подключение WinDbg MCP
Убедитесь, что в строке состояния WinDbg отображается клиент ИИ, подключенный к серверу MCP.
Убедитесь, что WinDbg MCP доступен в клиенте ИИ.
Введите следующий запрос:
Use WinDbg MCP to report the current target type and execution state.Убедитесь, что клиент ИИ использует средства WinDbg MCP и сообщает тип цели и состояние выполнения, которое показывает WinDbg.
Если клиент не подключается или результат не соответствует целевому объекту, см. статью «Устранение неполадок с настройкой и подключением WinDbg MCP».
Анализ цели отладки с помощью WinDbg MCP
После проверки подключения попробуйте выполнить немедленный запрос на анализ:
Analyze this debugging target and provide the likely cause, supporting evidence, and remaining assumptions.
Сравните результаты клиента ИИ с целевым состоянием и видимыми выходными данными отладчика, прежде чем предпринимать действия на их основе. Доступные инструменты и встроенные запросы см. в статье о средствах и запросах WinDbg MCP. Сведения о поддерживаемых сценариях см. в статье Об использовании WinDbg MCP для отладки.
Пишите эффективные запросы WinDbg MCP
Предоставьте клиенту ИИ достаточный контекст, чтобы выбрать соответствующие инструменты WinDbg MCP и получить результаты, которые можно проверить:
- Определите целевой объект отладки и задачу, например анализ аварийного дампа, исследование активного объекта отладки или проверку трассировки Time Travel Debugging.
- Попросите предоставить подтверждающие доказательства и оставшиеся предположения, а не только заключение.
- Запросите соответствующие команды отладчика, диагностику, проверку исходного кода или скрипт, если требуется определенный тип анализа.
- Укажите формат вывода, например дерево, сетку, граф или упорядоченный план исследования.
- Сравните результат с целевым состоянием, командами и видимыми выходными данными отладчика в WinDbg, прежде чем предпринимать какие-либо действия.
Управление сеансами WinDbg
В этих процедурах предполагается, что вы завершили настройку, открыли чат поддерживаемого клиента ИИ, подтвердили, что WinDbg MCP доступен в клиенте и запустили службу MCP в каждом окне WinDbg, которое вы хотите использовать. Запрашивайте команды выбора сеанса с помощью клиентского чата ИИ; не вводите имена инструментов непосредственно в WinDbg.
Прокси-сервер WinDbg MCP подключается автоматически, когда он обнаруживает ровно один доступный сеанс WinDbg. Если доступно несколько сеансов, клиент ИИ остается отключенным, пока не выберете сеанс.
Подключите клиент ИИ при наличии нескольких сеансов WinDbg
Используйте эту процедуру, если доступны несколько сеансов WinDbg, а клиент ИИ не подключен ни к одному из них. После процедуры клиент подключается к выбранному сеансу.
- Попросите клиента ИИ использовать
list_sessions. - Определите идентификатор процесса для предполагаемого сеанса WinDbg в результатах.
- Попросите клиента ИИ использовать
connect_sessionс этим идентификатором процесса. - Убедитесь, что клиент сообщает, что подключён к предполагаемому сеансу и что его целевое состояние соответствует выбранному окну WinDbg.
Переключите клиента ИИ на другой сеанс WinDbg
Используйте эту процедуру, когда клиент ИИ подключен к одному сеансу WinDbg, и вы хотите, чтобы он использовал другой сеанс. После процедуры клиент отключается от исходного сеанса и подключается к выбранному замещающему сеансу.
- Попросите клиента ИИ использовать
disconnect_session. - Попросите клиента ИИ использовать
list_sessions. - Определите идентификатор процесса для нового сеанса WinDbg.
- Попросите клиента ИИ использовать
connect_sessionс этим идентификатором процесса. - Убедитесь, что клиент сообщает о подключении к новому сеансу, и проверьте его целевой тип и состояние выполнения в выбранном окне WinDbg.
Отключите клиента ИИ от текущего сеанса WinDbg
Используйте эту процедуру, когда клиент ИИ подключен к сеансу WinDbg, и вы хотите завершить это подключение. После процедуры клиент не имеет подключения к сеансу WinDbg; WinDbg и служба MCP могут оставаться запущенными.
- Попросите клиента ИИ использовать
disconnect_session. - Убедитесь, что клиент сообщает, что прокси-сервер отключился от сеанса WinDbg.
Одновременно к сеансу WinDbg может подключаться только один активный клиент MCP. Если сеанс недоступен, отключите другой клиент ИИ от этого сеанса, а затем подключите нужный клиент.