关于java:从Scala源代码组装的远程调试JAR | 珊瑚贝

Remote debug JAR assembled from Scala source code


我正在使用一个用 Scala 编写的 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 是否包含调试信息?没有行号就不能设置断点。这篇文章的答案有一些信息可以解决这个问题。
  • 考虑使用方法断点。
  • 您是否为正在调试的 JAR 指定了源代码附件?在 IntelliJ 中,找到 JAR 并将其与源代码关联
  • @radumanolescu – 就是这样。如果您将您的评论作为答案重新发布,我将很乐意接受。非常感谢
  • @rgwozdz 在下面添加了答案


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


来源:https://www.codenong.com/42033329/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9096.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?