Отладка
Визуальный отладчик позволяет остановить функцию на тестовом стенде на любом операторе, увидеть, на какой именно иконке она остановилась, и посмотреть все переменные, доступные в этой точке — так же, как в текстовой IDE, но прямо на диаграмме.
Точки останова
Заголовок раздела «Точки останова»Кликните правой кнопкой по любому оператору (действие, лог, цикл, вызов другой функции, …) и выберите Поставить точку останова. У края иконки появится полый красный кружок.
Точки останова сохраняются в вашем браузере и принадлежат лично вам, а не проекту — они не экспортируются, не публикуются и не видны другим людям, работающим над тем же проектом.
Точку останова можно переключить в любой момент, в том числе пока сессия отладки уже идёт: кружок становится сплошным, как только сессия его подхватывает.
Запуск сессии
Заголовок раздела «Запуск сессии»Откройте меню Тестовый стенд на панели инструментов и выберите Отладка (рядом с Запустить функцию). Если функция принимает параметры, сначала вас попросят их указать — так же, как при обычном запуске. Если точек останова ещё нет, сессия сразу останавливается на первом операторе функции — иначе выполнение идёт до первой точки останова, на которую наткнётся.
На тестовом стенде одновременно выполняется только одно выполнение: запуск отладки останавливает то, что стенд выполнял раньше — то же правило, что уже действует для обычного запуска.
Запуск и отладка триггер-функции
Заголовок раздела «Запуск и отладка триггер-функции»Обычно триггер-функция запускается, когда приходит её событие (сообщение в Telegram, вызов вебхука, …). Чтобы запустить или отладить её на тестовом стенде, не дожидаясь реального события, откройте её и выберите Запустить функцию или Отладка в меню Тестовый стенд: появится окно для тестового payload — события, которое прислал бы триггер, в формате JSON. Редактор проверяет его по типу данных триггера (например, сообщение Telegram) и подчёркивает несоответствия; невалидный JSON или payload не того типа не отправляется. В первый раз окно предлагает заготовку по типу, дальше — последний payload, с которым вы запускали функцию (запоминается в этом браузере); Сбросить к образцу возвращает заготовку.
Триггерам по расписанию payload не нужен — они запускаются с текущим временем, как плановый запуск.
Пока выполнение на паузе
Заголовок раздела «Пока выполнение на паузе»- Иконка, на которой остановилось выполнение, подсвечивается на холсте, а вид панорамируется к ней, если она за пределами экрана.
Боковая панель показывает все переменные, доступные в этой точке — параметры функции, всё объявленное раньше в текущей функции, и переменные цикла, если пауза внутри него.
- Продолжить — выполнение идёт до следующей точки останова (или до завершения функции).
- Шаг с обходом — выполнение идёт до следующего оператора на той же глубине вызова: остановки внутри функции, вызванной с текущей строки, не будет, только после того как она вернёт управление.
- Остановить — завершает сессию полностью.
Что важно знать
Заголовок раздела «Что важно знать»Отладка работает только на тестовом (dev) стенде — опубликованная (prod) версия никогда не инструментируется, так что живой боевой workflow таким способом остановить или просмотреть нельзя.
Если сессия отладки долго простаивает на паузе, под тестового стенда может успеть «уснуть» (то же автоматическое усыпление, что применяется к простаивающему dev-стенду вообще). Само выполнение при этом не теряется — оно надёжно сохраняется, — но первое действие после долгой паузы может выполняться медленно, пока под просыпается.
