Я пытаюсь отладить проект Scala удаленно. И исполняемая программа (созданная и выполняемая из SBT), и мой отладчик (Intellij) являются локальными, но, поскольку я не хочу строить с использованием Intellij, использование сеанса удаленной отладки представляется самым простым вариантом для удобной отладки.
Программа запускается со следующими параметрами:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
Он успешно приостанавливается при запуске, и я могу успешно подключить свой отладчик. Я могу установить точки останова и пройтись по коду, но проблема в том, что необработанное исключение завершает сеанс отладки и отключает отладчик, отказываясь от цели отладки. Это поведение по умолчанию будет asburd, поэтому я должен делать что-то не так.
Консоль Intellij читает:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'
Disconnected from the target VM, address: 'localhost:5005', transport: 'socket'
Есть ли что-то, чего я упускаю на стороне выполнения или отладки?
Редактирование: добавление трассировки стека, в которую я добавляю новое исключение («что») в основную часть моего класса:
[error] java.lang.Exception: what
[error] at travellr.application.prophet.Prophet$.main(Prophet.scala:80)
[error] at travellr.application.prophet.Prophet.main(Prophet.scala)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[error] at java.lang.reflect.Method.invoke(Method.java:597)
[error] at scala.tools.nsc.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:81)
[error] at scala.tools.nsc.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:24)
[error] at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:86)
[error] at scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:81)
[error] at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:86)
[error] at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:83)
[error] at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)