Режим отладки
Режим отладки помогает находить корневые причины и исправлять сложные баги, которые трудно воспроизвести или понять. Вместо того чтобы сразу писать код, Agent выдвигает гипотезы, добавляет операторы логирования и использует данные времени выполнения, чтобы точно выявить проблему, прежде чем внести целевое исправление.
Когда использовать режим отладки
Режим отладки лучше всего подходит для:
- Багов, которые удаётся воспроизвести, но не удаётся понять их причину: Когда ясно, что что-то не так, но причина не очевидна при чтении кода
- Состояний гонки и проблем со временем выполнения: Проблем, зависящих от порядка выполнения или асинхронного поведения
- Проблем с производительностью и утечек памяти: Проблем, для понимания которых требуется профилирование во время выполнения
- Регрессий, когда что-то раньше работало: Когда нужно отследить, что изменилось
Когда стандартные взаимодействия с Agent не помогают разобраться с багом, режим отладки предлагает другой подход: опираться на данные времени выполнения, а не пытаться угадать исправление.
Как это работает
-
Исследование и формирование гипотез: Agent изучает релевантные файлы, собирает контекст и выдвигает несколько гипотез о возможных корневых причинах.
-
Добавление инструментирования: Agent добавляет операторы логирования, которые отправляют данные на локальный сервер отладки, работающий в расширении Cursor.
-
Воспроизведение бага: Режим отладки предлагает вам воспроизвести баг и предоставляет конкретные шаги. Это позволяет вам участвовать в процессе и гарантирует, что Agent фиксирует фактическое поведение программы во время выполнения.
-
Анализ логов: После воспроизведения Agent анализирует собранные логи, чтобы определить фактическую корневую причину на основе данных о поведении программы во время выполнения.
-
Внесение целевого исправления: Agent вносит точечное исправление, которое напрямую устраняет корневую причину — зачастую всего в нескольких строках кода.
-
Проверка и очистка: Вы можете повторно выполнить шаги воспроизведения, чтобы проверить исправление. После подтверждения Agent удаляет всё инструментирование.
Советы по режиму отладки
- Предоставляйте подробный контекст: Чем подробнее вы опишете баг и способы его воспроизведения, тем лучше Agent сможет выполнить инструментирование. Включайте сообщения об ошибках, стеки вызовов и конкретные шаги.
- Точно следуйте шагам воспроизведения: Выполняйте шаги, предложенные Agent, чтобы логи зафиксировали проблему.
- При необходимости воспроизводите баг несколько раз: Это может помочь Agent выявить сложные проблемы, например состояния гонки.
- Чётко описывайте ожидаемое и фактическое поведение: Помогите Agent понять, что должно происходить и что происходит на самом деле.
Переключение режимов
- Используйте выпадающий список выбора режима в Agent
- Нажмите Shift+Tab для быстрого переключения