【问题标题】:Glassfish 3.1 remote debugging with EclipseGlassfish 3.1 使用 Eclipse 进行远程调试
【发布时间】:2012-09-26 09:45:44
【问题描述】:

我已经在远程 Glassfish 服务器上部署了我的 WAR(不是 Eclipse 运行的同一台机器),并且想使用 Eclipse 进行远程调试。

这是我遵循的步骤:

1) 在 Glassfish 中启用调试 ( start-domain --user admin --debug shopserver-grp01 ) 在服务器实例的 JVM 设置中启用调试。

2) 在 Eclipse 中启动 Debug "Remote Java Application" 并成功连接到 Glassfish 服务器的 jdb 端口。

3) 将视角更改为“调试”,我可以看到连接成功并且正在运行服务器线程。

4) 在我的服务类中切换了一些断点。

5) 打开浏览器并使用一些参数访问我的 REST 服务。

但是 Eclipse 不会在标记的断点处暂停?

任何提示? 构建时有什么特殊的编译器参数吗?我使用 Maven。

【问题讨论】:

  • Eclipse 和 Glassfish 是否在同一台机器上?
  • 不,Glassfish 是远程服务器
  • 你确定你是在断点处执行代码吗?在 String.hashCode 中放置一个断点,以确保你真的可以打断点。
  • 感谢提示。它停在 .hashCode() 但不在我的服务,DAO 类方法中?是因为服务器/域实例运行在不同的 JVM 实例上吗?

标签: eclipse glassfish


【解决方案1】:

您无法调试在没有调试信息的情况下编译的 Java 类。如果该类不包含此信息,则您无法在运行时调试该类。这是一个特殊的编译器选项,用于减少类大小和防止调试。

您能否检查一下 glassfish 是否包含此信息。

Determine whether .class file was compiled with debug info?

【讨论】:

  • 可以进入调试类,但是看不到局部变量等
【解决方案2】:

您能否尝试其他 Java IDE 或调试器来消除 Eclipse 调试器被错误的可能性?

【讨论】:

    猜你喜欢
    • 2012-09-04
    • 2023-03-04
    • 2011-11-01
    • 2011-04-22
    • 1970-01-01
    • 2011-08-14
    • 2011-07-26
    • 2014-01-09
    • 2017-06-27
    相关资源
    最近更新 更多