【问题标题】:How to get remote debugging work for Java on Solaris如何在 Solaris 上为 Java 进行远程调试工作
【发布时间】:2010-12-16 07:10:04
【问题描述】:

我正在尝试在 Solaris OS 上使用 Java 进行远程调试。以下是我尝试过的-

我有一个名为 TestP 的 Java 类,它有 main 方法。

当我尝试 java -类路径。测试P

程序运行良好。但是当我尝试将调试参数添加到 JVM-

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -classpath 。测试P

它没有给出这个错误-

UTF 错误 ["../../../src/solaris/npt/utf_md.c":49]: 未能完成 iconv_open() 设置

谁能帮我弄清楚为什么会出现这个错误?以上在我的 Linux 机器上运行良好:(

Solaris 上的 Java 版本: Java(TM) SE 运行时环境 (build 1.6.0_15-b03) Java HotSpot(TM) 客户端虚拟机(build 14.1-b02,混合模式)

Linux 上的 Java 版本: java版本“1.6.0_0” OpenJDK 运行时环境 (IcedTea6 1.5) (fedora-20.b16.fc10-i386) OpenJDK Server VM(build 14.0-b15,混合模式)

谢谢,
-凯沙夫

【问题讨论】:

    标签: java solaris remote-debugging options


    【解决方案1】:

    嗯...这似乎是 Java 6 的已知 Solaris(并非特定于 Solaris 10)问题,而不是 Java 问题(请参阅thread)。

    有人成功应用了来自 Sun 的人 Jeff Moguillansky 的解决方法(参见 blog post),但我不建议这样做,而是考虑在 Sun 的论坛上搜索 sunsolve 以获取补丁。

    看看这个:http://sunsolve.sun.com/search/document.do?assetkey=1-1-6586755-1(您需要一个具有有效支持合同或软件订阅的 Sun 在线帐户)。

    【讨论】:

    • 感谢您的链接。将尝试使用此信息解决此问题。
    • oracle 破坏了这个答案的所有链接
    【解决方案2】:

    使用 truss 我发现进程正在寻找 /usr/lib/iconv/geniconvtbl/binarytables/UTF-8%646.bt 和 646%UTF-8.bt,所以我只是复制了 ISO8859-1%ISO646 .bt 到 UTF-8%646.bt 和 ISO646%ISO8859-1.bt 到 646%UTF-8.bt(是的,它是“646”,而不是“ISO646”!)

    这当然是一个非常丑陋的解决方法,我不知道它是否对 JVM 有任何负面影响,但至少它会启动 JVM 而不会中止。 (我是在 OpenSolaris 2009.06 上完成的,顺便说一句)

    【讨论】:

      【解决方案3】:

      如果 Pascal Thivent 是正确的,那么您可能想尝试运行 OpenSolaris(在空白机器上或在 vm 中)并查看问题是否也存在。如果没有,那么如果可能,请考虑暂时使用该版本。

      【讨论】:

        猜你喜欢
        • 2010-12-10
        • 2011-04-05
        • 1970-01-01
        • 2014-06-17
        • 2016-06-15
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 2010-09-10
        相关资源
        最近更新 更多