我正在使用Linux在J9机器(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)(两个输出引用相同的源,使用-g:lines,vars,Test.class编译。)
谢谢!
发布于 2010-09-17 00:49:05
根据这段documentation,可以使用以下选项来显示缺少的信息:
-Xlinenumbers
显示堆栈跟踪中的行号以进行调试。另请参见-Xnolinenumbers。默认情况下,行号处于启用状态。
显然,默认情况下,行号是关闭的。但是,正如文档所述,该选项是“非标准的,可能会在没有通知的情况下进行更改”。它现在可以工作了。
希望这个答案对将来的任何人都有用。
https://stackoverflow.com/questions/3676958
复制相似问题