JavaScript Debugger — различия между версиями

Материал из DevelopmenOnTheEdge
Перейти к: навигация, поиск
м (Asko переименовал страницу BeanExplorer4 JavaScript Debugger в JavaScript Debugger)
(Замечания)
Строка 1: Строка 1:
 
=== Замечания ===
 
=== Замечания ===
Для возможности подключиться удалённым отладчиком к BeanExplorer, необходимо использовать BeanExplorer из ветки js-debug. Данное замечание не относится к локальной отладке через [[BeanExplorer4 JavaScript Debugger#Run JavaScript (Local)|Run JavaScript (Local)]] и [[BeanExplorer4 JavaScript Debugger#Debug JavaScript (Local)|Debug JavaScript (Local)]] (см. ниже).
+
Для возможности подключиться удалённым отладчиком к BeanExplorer, необходимо использовать BeanExplorer из ветки js-debug. Данное замечание не относится к локальной отладке через [[JavaScript Debugger#Run JavaScript (Local)|Run JavaScript (Local)]] и [[JavaScript Debugger#Debug JavaScript (Local)|Debug JavaScript (Local)]] (см. ниже).
  
 
=== Launchers ===
 
=== Launchers ===

Версия 14:07, 2 сентября 2014

Замечания

Для возможности подключиться удалённым отладчиком к BeanExplorer, необходимо использовать BeanExplorer из ветки js-debug. Данное замечание не относится к локальной отладке через Run JavaScript (Local) и Debug JavaScript (Local) (см. ниже).

Launchers

BeanExplorer4 использует возможности Eclipse JavaScript Development Tools (JSDT). JSDT предоставляет два типа launcher'а, относящихся к Rhino: Rhino JavaScript и Remote JavaScript.

  • Remote JavaScript - это способ подключения к удалённому запуску JavaScript - предполагается, что на каком-то компьютере запущен JavaScript с отладчиком, который открыл порт для подключения и ждёт, что к нему подключится удалённый отладчик.
  • Rhino JavaScript же представляет одновременно запуск и самого скрипта, и удалённого отладчика к нему. Поскольку этот вид launcher'а запускает скрипт Rhino, но не позволяет при этом выбрать то, откуда брать Java классы, он нам бесполезен.

Подключение к удалённому JavaScript

Remote JavaScript launcher создаётся (как обычно) в "Debug Configurations...". При создании launcher'а необходимо выбрать Connector "Mozilla Rhino - Attaching Connector", ввести host, на котором запущен проект BeanExplorer, и порт 9000 (отладчик на сервере всегда открывает только 9000 порт). После этого можно будет подключиться к отлаживаемой операции, попытавшись открыть её в браузере и запустив ваш launch configuration для подключения.

Для того, чтобы BeanExplorer поднял серверную часть отладчика, необходимо, чтобы в таблице systemsettings были следующие строчки:

  • 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" основного меню.

Known issues

  • Может некорректно реагировать на первый breakpoint: в таком случае для того, чтобы увидеть переменные в скрипте, надо поставить хотя бы два breakpoint'а и нажать resume при первой остановке отладчика.

Далее рассматриваются способы запуска JavaScript через BeanExplorer4. Кнопки запуска раположены на основном toolbar'е Eclipse при открытом редакторе JavaScript. Причём операции будут запускаться только при условии, если JavaScript редактор открыть из дерева проекта BE4.

Run JavaScript (Local)

Запуск JavaScript операции в Eclipse. По завершению операции открывается браузер с результатом выполнения операции. В качестве входных данных операции возможно передавать presetValues и выбранные строки с entity. Метод для запуска, как и параметры, выбирается во view "Operation Parameters".

Known issues

  • Позволяет запускать только getParameters() и invoke(), но не getRedirectURL().

Debug JavaScript (Local)

Похоже на Run, но запускает скрипт в режиме отладки и пытается подсоединиться к запущенному скрипту удалённым отладчиком (при этом автоматически создаётся launch configuration с именем "BeanExplorer4", коннектором "Mozilla Rhino - Attaching Connector", хостом localhost и портом 9000).

Known issues

  • Позволяет запускать только getParameters() и invoke(), но не getRedirectURL().