Отладка кода Scala с помощью простого средства сборки (sbt) и IntelliJ - PullRequest
113 голосов
/ 11 ноября 2010

Какой самый простой способ отладки кода Scala, управляемого sbt, с помощью встроенного отладчика IntelliJ?В документации от "RunningSbt" с сайта кода sbt google перечислены команды для запуска основного класса для проекта или тестов, но, похоже, нет команд для отладки.

Последующие действиявопрос: как проще всего подключить отладчик IntelliJ к Jetty при использовании команды sbt jetty-run?

Ответы [ 13 ]

0 голосов
/ 11 июня 2019

В соответствии с ответом Роберто Тайли выше, но в Windows нам также необходимо установить следующие переменные среды после установки sbt:

SBT_HOME
C: \ Program Files (x86) \ sbt \
[или где установлен sbt]

SBT_OPTS
-Xdebug -runjdwp: transport = dt_socket, server = y, suspend = n, address = 5005

[за пример IntelliJ RT]

Добавить к пути:% SBT_HOME% \ bin;% SBT_OPTS%

Затем выполните следующую команду в командной строке в папке проекта. "sbt run -jvm -debug 5005".

Если это работает правильно, командная строка первоначально выведет строку re «Прослушивание транспорта dt_socket по адресу: 5005».

Установить точку останова в IntelliJ.

Откройте веб-сайт в браузере, чтобы вызвать точку останова отладчика, например, «http://localhost:9000/".

0 голосов
/ 31 мая 2018
export SBT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5009

попробуйте

0 голосов
/ 18 ноября 2016

У меня тоже такая же проблема, я хотел бы поделиться тем, как я решил.Кстати, я использую Ubuntu 14.04 и IntelliJ 15.

  1. В настройках -> SBT -> Вставлено ниже строки в текстовом поле Параметры виртуальной машины:

    -XX: MaxPermSize= 384M -Xdebug -Xrunjdwp: транспорт = dt_socket, сервер = y, приостановить = n, адрес = 5005

  2. Открыть Termilal в IntelliJ и запустить:

    sbt -jvm-debug 5005

    Примечание: вы должны увидеть эту строку в терминале: «Прослушивание транспорта dt_socket по адресу: 5005»

  3. Редактировать конфигурации -> Нажмите + -> Выберите «Удаленный»

    I. Give some name example: DebugMyModule
    
    II. All needed configurations will be set automatically, But you just verify. In Command line arguments should look like this "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005".
    
    III. In 'Search Sources in Module's Classpath' text box specify your module in which module your test cases are there.
    
    IV. put 127.0.0.1 host instead of 'localhost'. 'localhost' not working for me.
    
  4. Выберите DebugMyModule в Edit Configurations списке и нажмите Отладка .

    Примечание: Вы должны увидеть окно «Отладка» открытым и в консоли отладки. Вы должны увидеть «Подключено к целевой ВМ, адрес: '127.0.0.1:5005', транспорт:« сокет »»

  5. Поместите контрольные точки в несколько тестовых случаев в вашем Testclass.

  6. Приходите в терминал, где вы запускаете "sbt -jvm-debug 5005" и запускаете как ниже

    project <your-module-name>
    it:testOnly package.TestSpec
    

    Fили пример: com.myproject.module.AddServiceTest [Spec]

  7. Вы можете увидеть, что отладка запущена в контрольной точке вашего теста.

...