I am trying out the Scala web framework Scalatra. According to the docs here, the steps to enable IntelliJ debugging are:
"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
sbt
, run jetty:start
, and then start the remote debuggerWhen I do this, SBT prints out:
Listening for transport dt_socket at address: 5005
And IntelliJ prints:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'
However, breakpoints do not seem to be working. When I hit the following endpoint, with a breakpoint at the *
:
class AppServlet extends AppStack {
get("/break-test") {
* val response = "DONE"
response
}
}
The code does not stop at that line, but continues so I get the response DONE
back.
I am using Java 1.8.0_111, Scala 2.12, and SBT 0.13.15.
Ah finally, After big struggle ! I found it for me !
I needed to disable forking in build.sbt
fork in Test := false,
It makes total sense, as it's only the first JVM who would get to be attach to the IDE.
I hope it help someone !
This is what I use for remote debugging:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005.
The value you use above in your answer, -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
, is used in the For JDK 1.4.x
field.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With