Как локализовать too much recursion в MakeCode Arcade без переписывания проекта: сравнить исходный пример и копию, найти действие запуска, проверить базовое условие и сохранить минимальные вершины стека.
Создайте безопасную копию и точный шаг
Не редактируйте единственный рабочий проект. Сохраните копию с нейтральным именем и зафиксируйте последовательность от запуска до сообщения: какой экран открыт, какая кнопка или событие срабатывает и появляется ли ошибка сразу или после повторов. Если исходный публичный пример доступен, сначала проверьте его нетронутым, затем собственную копию без новых блоков. Различие между ними показывает влияние изменений, но не объясняет конкретную функцию. Не публикуйте share-ссылку на проект с именами участников, учебного класса или приватными assets; для отчёта достаточно минимальной копии без личного содержимого.
Отделите браузер от физического устройства
Официальная страница MakeCode о hardware errors разделяет ошибки симулятора в браузере и коды на устройстве, а также указывает на debugger и текст сообщения как диагностические опоры. Выполните один контроль в браузерном симуляторе и, только если устройство уже используется, сравните тот же безопасный сценарий на нём. Не прошивайте другое устройство и не меняйте расширения одновременно. Если сообщение возникает только в одной среде, сохраните версию редактора или прошивки. Если одинаково в обеих, переходите к логике проекта, не объявляя аппаратную неисправность.
Сократите цепочку вызовов до базового условия
MDN объясняет too much recursion как превышение числа вызовов, часто связанное с отсутствующим или недостижимым базовым условием. В копии отключайте по одному обработчику вокруг точного действия: событие кнопки, обновление кадра, пользовательскую функцию и обратный вызов. После каждого изменения повторяйте один и тот же шаг. Если функция вызывает себя напрямую или через цепочку, проверьте, изменяется ли условие, которое должно остановить повтор. Не заменяйте всё на задержки и не увеличивайте лимиты: это маскирует путь, а не доказывает исправление.
Соберите минимальный отчёт без проекта целиком
Передайте версию MakeCode Arcade, среду браузер/устройство, точный шаг, минимальный набор активных обработчиков и несколько верхних повторяющихся имён из стека. Длинный стек сократите после сохранения оригинала локально; токены расширений, ссылки на закрытые проекты и имена assets удалите. Укажите, воспроизводится ли нетронутый пример и исчезает ли ошибка при отключении одного обработчика. Если для продолжения нужно удалять большие части рабочей игры, остановитесь и работайте только в копии. Свежая ветка подтверждает симптом одного проекта, поэтому вывод ограничен методом изоляции.
Материал подготовлен редакцией VOne с применением ИИ для каскада изоляции; смысл ошибки и границы сред проверены по MakeCode и MDN, issue использован только как сигнал.
Источники и проверка
- Microsoft MakeCode Arcade — Errors on Hardware проверено 2026-08-10
- MDN — InternalError: too much recursion проверено 2026-08-10
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.