我正在尝试远程调试
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'
在执行或调试方面,我是否缺少某些东西?
编辑:添加一个堆栈跟踪,我在我的主类中抛出新的异常(“what”):
[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)