gpt4 book ai didi

java - JRuby 和 Java 之间的调试

转载 作者:行者123 更新时间:2023-12-01 11:49:31 25 4
gpt4 key购买 nike

我有一个大型 Java 项目,它使用一些 Ruby 脚本(主要是因为 Ruby 对“yield”的支持)。 Ruby 代码调用 Java 代码,Java 代码又调用更多 Ruby 代码。它非常交错,但一切都是由 Java 驱动的。

我正在使用嵌入式 jruby-standalone 并构建一个带有依赖项的 jar(通过 maven)。我正在使用 Maven 插件来运行 jrubyc 并生成 .java 文件,由 Maven 为我编译。

当我运行带有依赖项的 jar 时,我可以毫无问题地将调试器附加到 Java 进程,但我真的很希望能够调试 Ruby 代码。有解决办法吗?

我不会启动任何类型的可以附加参数的 jruby 可执行文件。它嵌入在 jar 中并通过 java -jar 调用。

最佳答案

您可以使用 gem pry-remote .

pry不同,它不需要从终端(或终端模拟器,如果您使用的是 Windows)启动进程。

它本身并不是一个真正的调试器,但如果您在代码中添加 binding.remote_pry ,您希望在该上下文中观察并使用react(例如,您可以捕获异常),这将将 pry 置于等待模式以进行远程连接,并且您应该能够从另一个终端连接到此进程并对其进行调试。

提供 2 分钟实践教程 here .

缺点:

  • 您不能有 2 个 pry 远程 session 。
  • 您的代码必须包含正确的“调试”条件

当我使用 jruby、h2 和 jetty 服务器开发 Web 应用程序时,我在预部署环境中使用它。

祝你好运!

关于java - JRuby 和 Java 之间的调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28906844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com