StatusRivet
Продукт

Задачи отладки x64: от журнала сбоя до проверенного исправления

01

StatusRivet — это AI-агент для Windows 10/11, который работает рядом с вашим собственным x64-отладчиком. Пошаговое выполнение остаётся за вами. Он запускает команды сборки и тестирования, читает журналы и стеки вызовов, которые вы сохраняете, ищет исходный код и показывает каждое предлагаемое исправление в виде diff.

01

Запускает реальные инструменты

Каждое действие отображается в чате в виде карточки с реальным результатом, и вы можете развернуть любую карточку, чтобы увидеть полный вывод.

02

Редактирование через diff

edit_file изменяет файл и показывает diff, чтобы вы могли прочитать, какие именно строки изменятся, прежде чем принять изменения.

03

Ключи остаются локальными

Чаты, рабочие папки и API-ключи хранятся на вашем ПК; промпты отправляются только на конечную точку модели, которую вы выберете.

Что делает StatusRivet

Отлаживайте своё ПО на лабораторных машинах

StatusRivet предназначен для программного обеспечения, которое вы написали или имеете право отлаживать, на лабораторной или тестовой машине. Агент выполняет повторяющиеся шаги: чтение журналов, поиск в исходном коде и повторный запуск сборок, а вы читаете каждый diff перед тем, как сохранить его.

Четыре задачи отладки по шагам

Чтение стека вызовов при сбое

Задача: ваше приложение упало на тестовой машине, и у вас есть стек вызовов, который ваш x64-отладчик сохранил в текстовом виде. read_file загружает stack.txt, а grep ищет код исключения в журнале, например 0xC0000005 для нарушения доступа. Затем агент перечисляет верхние кадры потока, вызвавшего сбой, и открывает исходный файл, соответствующий первому кадру. Каждое действие появляется в чате в виде карточки, и вы можете развернуть карточку, чтобы прочитать полный вывод. Если при загрузке bsod оставляет запись об ошибке 41 в журнале событий, дамп, созданный в это время (если он есть), содержит нужное состояние. Начинайте с начала. Прочитайте кадры самостоятельно, так как агент работает на основе текстового вывода, затем примите или отклоните предлагаемый diff в режиме Ask first.

Исправление переполнения стека

Задача: в журнале показан код исключения 0xC00000FD, означающий переполнение стека, и вы хотите найти функцию, которая вызвала рекурсию. grep ищет в исходном коде имя функции из верхних кадров, а read_file открывает его, чтобы агент увидел, как заканчивается рекурсия. edit_file предлагает минимальный diff, например, недостающее условие остановки, и показывает, какие именно строки изменятся. Затем Shell запускает команду сборки и команду тестирования, и каждая карточка сообщает реальный код выхода. bsod с кодом остановки управления памятью — это другой вид сбоя, но метод тот же: найдите исключение, прочитайте стек, тестируйте одно изменение за раз. Делайте каждое изменение небольшим. Просмотрите diff и результат тестирования перед тем, как сохранить что-либо, и запустите тест ещё раз после финального редактирования.

Проверка настройки JIT-отладки

Задача: прежде чем полагаться на отладчик во время сбоя, проверьте значение JIT-отладки на тестовой машине. JIT означает just-in-time: Windows автоматически запускает отладчик при сбое приложения, и это системная настройка. Shell выполняет команду, которую вы ему даёте, для чтения текущего значения, а write_file сохраняет это значение в settings-before.txt, чтобы старое значение было записано. Изменяйте его только на тестовой машине, никогда на вашем основном ПК, и восстановите сохранённое значение afterwards. В режиме Ask first агент приостанавливается перед каждым действием, изменяющим что-либо, так что вы отдельно одобряете изменение и восстановление. Запишите значение. Прочитайте сохранённый файл перед началом и прочитайте его снова перед восстановлением значения.

Отладка драйвера на лабораторной цели

Задача: драйвер, который вы написали, вызывает сбой тестовой цели, и вам нужно найти функцию, вызвавшую сбой. Работа на уровне ядра обычно требует двух машин или виртуальной машины: одна с отладчиком, другая как тестовая цель, соединённых отладочным соединением, а цель остаётся в лаборатории. Shell выполняет команды по SSH на лабораторной машине, которой вы владеете, read_file читает текст, сохранённый отладчиком, а grep сопоставляет имя модуля с вашим исходным кодом. На новом компьютере bsod с нарушением таймаута dpc может быть вызван драйвером, который вы пишете, поэтому стек зависшего потока — это первое, что нужно прочитать. Держите её в лаборатории. Вы проверяете каждое найденное значение перед тем, как изменить строку, и запускаете тест на цели снова afterwards.

Что StatusRivet не делает

StatusRivet — это не хостинговый сервис и не плагин для другой программы. Он работает на вашем ПК. Он предназначен только для ваших собственных файлов, вашего ПК и серверов, которыми вы имеете право пользоваться, и вы удерживаете работу внутри них: Shell, веб и SSH не ограничены одной папкой. Он не может гарантировать, что код или анализ верны, поэтому каждый результат требует вашего собственного обзора и собственного запуска тестов.

StatusRivet для Windows

Начните со сбоя, который можно воспроизвести

Скачать StatusRivet ↗