【问题标题】:Is it possible to debug PL/Java (ideally from Eclipse)?是否可以调试 PL/Java(最好来自 Eclipse)?
【发布时间】:2010-06-17 02:00:26
【问题描述】:

虽然我发现 PL/Java 是 PostgreSQL 的强大插件,但我找不到远程调试 PSQL DBMS 上加载的类的方法。

这有可能实现吗?

提前致谢!

【问题讨论】:

    标签: eclipse debugging postgresql pljava


    【解决方案1】:

    我想你可以设置pljava.vmoptions 来启用调试并包含一个端口号来监听,然后使用 Eclipse 的“调试远程应用程序”启动器来连接它。

    因此,JVM 选项-agentlib:jdwp=transport=dt_socket,suspend=n,address=localhost:55000 将使 JVM 在端口 55000 上侦听调试器。然后在 Eclipse 中打开“调试配置..”对话框,在左侧的启动类型窗格中右键单击“远程 Java 应用程序”,然后更新右侧的连接属性以使用端口 55000。您应该连接调试启动器以及一个项目,以获取该项目的类路径和源。

    请注意,我实际上并没有在 postgresql 中尝试过,但这与我一直以来从 shell 脚本而不是 Eclipse 中运行 JBoss 的方式相对应。

    【讨论】:

    • 感谢您的提示!和你一样,我也以这种方式调试 JBoss,完全没有问题。但是,由于某种原因,我无法让它与 PL/Java 一起使用。我做了什么: 1. 在 postgresql.conf 中添加“pljava.vmoptions = ...”行 2. 创建并配置一个新的启动配置(Eclipse) 3. 启动 postgresql 4. 启动远程 Java 应用程序 -> 无法连接到VM 我做错了吗?
    • 选择了这个答案作为正确的答案(尽管目前我无法让它发挥作用),因为它应该是正确的做法。
    【解决方案2】:

    我需要对选项行稍作改动。工作的是-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=localhost:8000。如果没有 server=y 部分,调试器会抱怨缺少传输。有了上述,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 2013-06-08
      • 2010-12-29
      • 1970-01-01
      • 2012-12-04
      • 2012-02-11
      • 2011-08-06
      相关资源
      最近更新 更多