2017-02-03 11 views
0

Я работаю с API, написанным на Scala, который использует SBT для его создания в JAR-файл. Я разворачиваю JAR-файл на виртуальную машину (VM), и я могу выполнить ее успешно - API запускается и обрабатывает запросы.Удаленный отладочный JAR, собранный из исходного кода Scala

Теперь я пытаюсь использовать конфигурацию удаленного отладки IntelliJ (v 2016.3.4) для размещения точек останова в исходном коде Scala. Вот что я сделал:

1) Откройте мой исходный код как проект Scala SBT в IntelliJ.

2) Открыт VM порт 5005

3), которые выполняются JAR на VM:
java -noverify "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" -cp /home/vagrant/shared/build/geotrellis-chatta-demo-assembly-0.1-SNAPSHOT.jar geotrellis.chatta.Main

я получаю этот выход:
Listening for transport dt_socket at address: 5005

4) Добавлена ​​конфигурация удаленной отладки в IntelliJ и начал его. Консоль IntelliJ показывает мне следующее:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'

Однако ни один из моих контрольных точек не работает.

Я пропустил что-то в вышеуказанных шагах? Я очень новичок в Scala, серьезно не работал с Java в течение многих лет, и только начинаю с IntelliJ.

UPDATE: Отладчик IntelliJ определенно работает - если я его приостанавливаю, API перестает отвечать на запросы, пока он не будет приостановлен. Но никаких остановок на контрольных точках.

+0

Является ли фляга встроенной с информацией об отладке? Вы не можете установить контрольные точки без номеров строк. Ответ на [этот пост] (http://stackoverflow.com/questions/1508235/determine-whether-class-file-was-compiled-with-debug-info) содержит некоторую информацию, чтобы понять это. – jkinkead

+0

Рассмотрите возможность использования контрольных точек метода. –

+1

Вы указали вложения исходного кода для JAR, который вы отлаживаете? В IntelliJ найдите JAR и свяжите его с исходным кодом – radumanolescu

ответ

0

Вы указали вложения исходного кода для JAR, который вы отлаживаете? В IntelliJ найдите JAR и свяжите его с исходным кодом.