Play applications can be debugged using a Java Platform Debugger Architecture (JPDA) transport. According to the Oracle documentation (refer to http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html):
A JPDA Transport is a method of communication between a debugger and the virtual machine that is being debugged (hereafter the target VM). The communication is connection oriented - one side acts as a server, listening for a connection. The other side acts as a client and connects to the server. JPDA allows either the debugger application or the target VM to act as the server.
We can start a console in debug mode with any one of the following commands:
By using
play
:play debug
By using
activator
:activator -jvm-debug <port>
By using
sbt
:sbt -jvm-debug <port>
All these commands are just wrappers used to start the target VM in debug mode through the invocation options:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<...