JavaScript Debugger
- Launchers
- Подключение к удалённому JavaScript
- Run JavaScript (Local)
- Debug JavaScript (Local)
Для возможности подключиться удалённым отладчиком к BeanExplorer, необходимо использовать BeanExplorer из ветки js-debug и в файле /common/makefiles/optional_packages.xml подправить строчки
<property name="RHINO_JAR" value="${COMMONBINDIR}/js.jar"/>
<property name="RHINO_JAR" value="${COMMONBINDIR}/js17R4.jar"/>Launchers
BeanExplorer4 использует возможности Eclipse JavaScript Development Tools (JSDT). JSDT предоставляет два типа launcher'а, относящихся к Rhino: Rhino JavaScript и Remote JavaScript.
Remote JavaScript - это способ подключения к удалённому запуску JavaScript - предполагается, что на каком-то компьютере запущен JavaScript с отладчиком, который открыл порт для подключения и ждёт, что к нему подключится удалённый отладчик.
Rhino JavaScript же представляет одновременно запуск и самого скрипта, и удалённого отладчика к нему. Поскольку этот вид launcher'а запускает скрипт Rhino, но не позволяет при этом выбрать то, откуда брать Java классы, он нам бесполезен.
- JAVA_SCRIPT_DEBUG_MODE - включение режима отладки (значение TRUE),
- JAVA_SCRIPT_OPERATION_TO_DEBUG - имя отлаживаемой операции (например, просто "Test"),
- JAVA_SCRIPT_SOURCE_NAME - имя файла с отлаживаемой операцией, так, как оно отображается в Eclipse (например, "/condo_be4/src/js/operations/userRegistrations - Test.js").
- JAVA_SCRIPT_METHOD_TO_DEBUG - имя метода для отладки (остальные методы не будут отлаживаться), одно из:
NOTHING, // there is no methods to debug GET_PARAMETERS, // getParameters
INVOKE, // invoke
GET_REDIRECT_URL, // getRedirectURL
CUSTOM_GENERIC, // getCustomAction, getCustomEnctype, getCustomMethod
CONTEXT, // the script itselfУстановка этих переменных возможна автоматически, посредством нажатия кнопки "Set Current Operation As Remotely Debugged" на основном тулбаре (при открытом редакторе JavaScript). Отключение режима отладки возможен посредством пункта "BeanExplorer"->"Turn Off Server JavaScript Debugging" основного меню.
-
Несмотря на то, что отладчик успешно подключается и позволяет продолжать запуск скрипта, отлаживаемые скрипт не доходит до конца, так что страница с результатом не открывается.(Fixed 14.05.22)
- Может
некорректно реагировать на первый breakpoint: в таком случае для того,
чтобы увидеть переменные в скрипте, надо поставить хотя бы два breakpoint'а и нажать resume при первой остановке отладчика.
Run JavaScript (Local)
-
Зависает, если текущая операция - отлаживаемая (systemsettings).(Fixed 14.05.21)
- Позволяет запускать только getParameters() и invoke(), но не getRedirectURL().
Debug JavaScript (Local)
-
Скрипт не доходит до конца. Для того, чтобы он дошёл до конца (в таком случае откроется браузер с результатом), необходимо самому ещё раз запустить launch configuration с именем "BeanExplorer4" и запустить скрипт дальше (Resume/F8).(Fixed 14.05.22)
- Позволяет запускать только getParameters() и invoke(), но не getRedirectURL().
-
Нет class loading'а!!!(Fixed 14.05.22)
Debug (Удалил эту операцию)
-
В браузере отображается только то, что было распечатано в коде JavaScript. -
В контексте лежит не всё (entity, parameters, context, out, connector).
Замечание: Run (Experimental) и Debug по сути своей одно и то же - они нужны для запуска отладки скрипта. Они отличаются способом настроить запуск и своими багами. Когда нормально доделаю отладку, будет только одна из этих команд. Update: теперь уже понятно, какая из них.