我正在尝试使用Scala Web框架Scalatra。根据这里的文档,启用IntelliJ调试的步骤如下:
- 添加远程调试的常规JDK选项:
"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
- 在Intellij中创建“远程”运行配置
- 启动
sbt
,运行jetty:start
,然后启动远程调试器
当我这样做时,SBT会打印出:
Listening for transport dt_socket at address: 5005
而IntelliJ则会显示:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'
但是,断点似乎无法正常工作。当我在以下端点处设置断点(在*
处)时:
class AppServlet extends AppStack {
get("/break-test") {
* val response = "DONE"
response
}
}
代码不会在那一行停止,而是继续执行,因此我收到了响应 DONE
。
我正在使用Java 1.8.0_111、Scala 2.12和SBT 0.13.15。