Изменения

Перейти к: навигация, поиск

Отладчик встроенных скриптов

710 байт убрано, в четверг в 11:35
Сохранение в файл
= Отладчик скриптовИнтерфейс =
[[Файл:ScriptDebugger.png]]
'''Отладчик скриптов''' — рабочий инструмент для разработки и диагностики скриптов встроенного языка.
Он позволяет запускать скрипты в режиме отладки, останавливать выполнение на нужных строках, анализировать переменные и подключаться к уже запущенным скриптам.
Вы можете запустить отладчик при наличии прав Администратораиз:
* '''Отчеты > SQL > Выполнить > Запустить отладчик'''
* '''Отчеты > Дополнительные возможности > Редактировать'''
* '''Наблюдение за выражениями''' — вычисление произвольных выражений при каждой остановке
* '''Точки останова''' — остановка выполнения на выбранных строках кода
* '''Отслеживание запросов отладкиПодключение к скриптам''' — подключение к уже выполняющемуся скрипту, через команду AttachDebuggerзапущенному без отладчика
* '''Работа с файлами''' — открытие, сохранение и отслеживание изменений файлов скриптов
* '''Расширенный редактор''' - подсветка парных скобок, отображение скрытых симолов, закладки.
* Визуальное отображение точек останова (красные кружки в левом поле)
* Подсветку текущей строки выполнения (желтый фон)
* Подсветку парных скобок при установке курсора* Отображение скрытых символов* Закладки для быстрой навигации
== Лог ==
Отображает:
* Вывод сообщений няпрямую напрямую из скрипта командой '''print'''
* Сообщения отладчика (остановка на breakpoint, ошибки)
* Временные метки для каждого сообщения в формате [hh:nn:ss]
== Кнопки управления ==
* '''Запустить''' — запуск Запуск скрипта в режиме отладки (F9). При необходимости установите точки останова, cкрипт выполнится до первой точки останова или до ошибки.* '''Остановить''' — аварийная остановка выполняющегося Прерывание дальнейшего исполнения скрипта. Во время выполнения скриптаможно нажать и удерживать клавишу '''ESC''' для аварийной остановки.* '''Продолжить''' — возобновление Возобновление выполнения после остановки на точке останова скрипта (F9)
= Работа с отладчиком =
 
== Запуск скрипта ==
 
# Введите или откройте скрипт в редакторе
# При необходимости установите точки останова
# Нажмите кнопку «Запустить» или клавишу F9
# Скрипт выполнится до первой точки останова или до ошибки
== Установка точек останова ==
Точки останова можно настроить перед запуском скрипта или когда выполнение скрипта приостановлено. Добавление точки останова:
'''Способ 1.''' Щёлкните левой кнопкой мыши в левой части нужной строки (область номеров строк). На строке появится красный кружок — точка останова установлена. Повторный щелчок удалит её.
'''Способ 2.''' Установите курсор на строку и используйте пункт меню '''Скрипт''' > '''Добавить точку останова (F5)'''.
 
'''Важно.''' Точки останова всегда останавливают выполнение на указанной строке, дополнительные условия не поддерживаются.
== Просмотр переменных ==
При остановке на точке останова Список '''Переменные''' содержит все переменные и объекты доступные в текущем инстансе интерпретатора. Список автоматически отображаются в списке. Значения обновляются при каждой остановкемомент остановки выполнения скрипта.
== Наблюдение за выражениями ==
Показывает Список '''Наблюдения''' показывает все переменные добавленные пользователям выражения и объекты текущего контекста с их текущими значениямирассчитанные значения. Значения обновляются автоматически в момент остановки выполнения скрипта или после редактирования выражения. Для добавления наблюдения:
# Выделите текст в редакторе (например, имя переменной или выражение)
# Выберите в контекстном меню редактора пункт '''Добавить в наблюдение'''
# Либо используйте меню '''Скрипт''' > '''Добавить наблюдение (Сtrl+F5)''' и введите выражение вручную.
 
Выражение будет добавлено в список и пересчитываться при каждой остановке.
'''Примеры выражений:'''
* db.RecordCount — количество записей в наборе данных
* $i > 0 — логическое условие
 
== Продолжение выполнения ==
 
После остановки скрипта:
# Просмотрите значения переменных и выражений наблюдения
# При необходимости скорректируйте точки останова или выражения наблюдения
# Нажмите кнопку '''Продолжить (F9)''' — выполнение продолжится до следующей точки останова или завершения скрипта
 
== Остановка выполнения ==
 
Во время выполнения скрипта можно нажать и удерживать клавишу '''ESC''' для аварийной остановки.
= Работа с файлами =
== Сохранение в файл ==
Всегда есть возможность сохранить скрипт в файл.* Меню '''Файл''' > '''Сохранить в файл'''— Сохраняет текущий текст скрипта в файл. Если файл был сохранен ранее, по умолчанию предлагается предыдуший путь.
Сохраняет текущий текст скрипта * Меню '''Файл''' > '''Сохранить (Ctrl+S)''' — Когда отладчик открыт без привязки к конкретному скрипту, то сохраняет изменения в файл. '''Важно!''' Если отладчик открыли например из '''Отчеты''' > '''Дополнительные возможности''' > '''Редактировать''' то сохранения через пункт '''Сохранить (Ctrl+S)''' сохранения '''всегда''' будет происходить в базу, в файл был открыт ранее, по умолчанию предлагается исходный путьизменения сохранены не будут.
= Сохранение =
Если отладчик открыт как редактор скрипта, доступны функции по сохранению напрямую в базу данных:
* Меню '''Файл''' > '''Сохранить(Ctrl+S)''' — сохранить скрипт в базу данных
* Кнопка '''Сохранить и закрыть''' — сохранить скрипт и закрыть окно отладчика
= Подключение отладчика к работающим скриптам =
Данная возможность позволяет подключить отладчик к скриптам изначально запущеным без него. Сначала Для начала работ, отладчик нужно отладчик перевести в режим '''ожидания запросов отладки'''. Далее необходимо запустить скрипт стандартным способом. Если в скрипте будет команда AttachDebugger - отладчик это увидит и начнется процесс отладки этого скрипта. Это удобно для отладки скриптов, которые работают в своем контексте:
* Скриптов из печатных форм
* Скриптов из системных событий
* Скриптов из дополнительных услуг
== Как использовать == '''В отладчике:'''# Откройте отладчик скриптов, главное меню '''Отчеты''' > '''SQL''' > '''Выполнить''' > '''Запустить отладчик (F9)'''.# Включите режим отслеживания: меню '''Скрипт''' > '''Ожидать команды AttachDebugger'''.# В строке состояния отладчика появится сообщение '''Ожидание команды AttachDebugger...'''.# Свернуть отладчик, если его закрыть то наблюдение остановится. '''В скрипте:'''# Скрипт нужно подготовить. В скрипте нужно прописать команду '''AttachDebugger''' она должна быть '''первой командойКак использовать''' или идти сразу после тега начала скрипта <?># Запустить скрипт стандартным образом: Сформировать печатную форму, рассчитать стоимость доставки, выполнить действие для вызова события.
#'''В отладчике:'''## Откройте отладчик скриптов, главное меню '''Отчеты''' > '''SQL''' > '''Выполнить''' > '''Запустить отладчик (F9)'''.## Включите режим отслеживания: меню '''Файл''' > '''Ожидать команды AttachDebugger'''.## В строке состояния отладчика появится сообщение '''Ожидание команды AttachDebugger...'''.## Свернуть отладчик, если его закрыть то наблюдение остановится.#'''В скрипте:'''## Скрипт нужно подготовить. В скрипте нужно прописать команду '''AttachDebugger''' она должна быть '''первой командой''' или идти следующей строкой после тега начала скрипта '''<?>'''## Запустить скрипт стандартным образом: Сформировать печатную форму, рассчитать стоимость доставки, выполнить действие для вызова события.#'''Что происходит:'''## При выполнении команды AttachDebugger - скрипт останавливается.## Отладчик автоматически подключается к выполняющемуся перехваченному скрипту.## Текст скрипта загружается в редактор отладчика.## Можно ставить точки останова, просматривать переменные и продолжать отладку.
Пример скрипта с запросом подключения к отладчику:
== Пример 4: Отладка скрипта через AttachDebugger ==
'''Задача.''' Подключиться к скрипту печатной формы, который выполняется из основного приложениязапущенному без отладчика.План действий:# Откройте отладчик скриптов.# Включите режим отслеживания меню '''Файл''' > '''Ожидать команды AttachDebugger'''.# В скрипт печатной формы, первой строкой добавьте команду `AttachDebugger`. # Запустите печатную форму.# Когда выполнение дойдёт до AttachDebugger, отладчик автоматически подключится. Если под рукой нет печатной формы. Пример скрипта:
<source lang="json">
<?>
</source>
План действий для скрипта из примера:
# Откройте отладчик скриптов.
# Включите режим отслеживания меню '''Файл''' > '''Ожидать команды AttachDebugger'''.
# В скрипт печатной формы, первой строкой добавьте команду `AttachDebugger`. # Откройте '''Отчеты''' > '''SQL''' укажите введите скрипт из примера.# Запустите скрипт через меню '''Выполнить''' > '''Выполнить как скрипт (F7)'''.
# Когда выполнение дойдёт до AttachDebugger, отладчик автоматически подключится.
# Установите точку останова на строке if($count > 100.
523
правки

Навигация