从Scala源代码汇编的远程调试JAR

g

我正在使用Scala编写的API进行工作,该API使用SBT将其构建到JAR文件中。我将JAR文件部署到虚拟机(VM),并且可以成功执行-API启动并处理请求。

现在,我尝试使用IntelliJ(v 2016.3.4)远程调试配置在源Scala代码中放置断点。这是我所做的:

1)在IntelliJ中打开我的源代码作为Scala SBT项目。

2)打开虚拟机端口5005

3)在VM上执行JAR:
java -noverify "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" -cp /home/vagrant/shared/build/geotrellis-chatta-demo-assembly-0.1-SNAPSHOT.jar geotrellis.chatta.Main

我得到以下输出:
Listening for transport dt_socket at address: 5005

4)在IntelliJ中添加了远程调试配置并启动了它。IntelliJ控制台向我显示了这一点:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'

但是,我的所有断点都无效。

我在上述步骤中缺少什么吗?我对Scala还是很陌生,多年来没有认真使用Java,只是从IntelliJ开始。

更新:IntelliJ调试器肯定可以正常工作-如果我暂停它,则该API会停止对请求的响应,直到它变得未暂停为止。但是断点没有停止。

拉达莫洛司库

您是否为要调试的JAR指定了源代码附件?在IntelliJ中,找到JAR并将其与源代码关联。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章