java - 如何获取在 J9 VM (Linux) 上打印的调试信息?

标签 java configuration debugging jvm j9

我正在使用 J9 VM 在 Linux 机器 (BusyBox) 上运行我的应用程序。 在我的 Windows 环境中进行开发和测试时,同样使用 J9,我获得了有关堆栈跟踪的完整调试信息。这不会发生在 Linux 机器上。

在我的知识允许的范围内,我已经检查了两个虚拟机的配置。此外,我已经删除了我的 Windows J9 安装中的库,这些库不在 Linux J9 安装上。

有谁知道如何获取调试信息而不是“未知来源”?是否有打印此信息的任何配置?

Windows 输出:

>j9 -jcl:foun11 Test
java.lang.Exception
        at Test.doStuff(Test.java:6)
        at Test.main(Test.java:11)

Linux 输出:

#j9 -jcl:foun11 Test
java.lang.Exception
        at Test.doStuff(Unknown Source)
        at Test.main(Unknown Source)

(两个输出都引用相同的 Test.class,使用 -g:lines,vars,source 编译。)

谢谢!

最佳答案

根据这 block documentation以下选项可用于显示缺失的信息:

-Xlinenumbers
Displays line numbers in stack traces for debugging. See also -Xnolinenumbers. By default, line numbers are on.

显然,默认情况下,行号是关闭的。但是,正如文件所述,该选项是“非标准的,如有更改,恕不另行通知”。它现在可以工作。

希望这个答案对以后的任何人都有用。

关于java - 如何获取在 J9 VM (Linux) 上打印的调试信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3676958/

相关文章:

java - Android Studio 中的舍入变量

hadoop - 无法通过命令行界面连接到亚马逊 AWS EMR

java - 找到随机数组的最大值

java - 未找到 WildFly 9.0.1 WFLYCTL0158 处理程序 "CONSOLE"

.net - XmlSchema.Read 给出 COMException "Catastrophic failure"

c++ - 数据文件放在哪里以便 Microsoft Visual C++ 2008 调试器可以找到它们?

java - 通过反射从 import static 获取类中的静态变量

java - 如何建立外部mysql数据库的连接,然后调用进行具体的数据查询

java - 是否可以使用 SAX 解析器解析大小为 800 MB 的大型 xml 文件

java - 运行 2D 游戏的配置 IntelliJ