2010-09-09 32 views
2

我正在使用J9 VM在Linux機器上運行我的應用程序(BusyBox)。 在我的Windows環境下進行開發和測試時,也使用J9,我可以獲得有關堆棧跟蹤的完整調試信息。這在Linux機器上不會發生。我如何獲得打印在J9 VM(Linux)上的調試信息?

我已經檢查了兩個VM配置,儘可能多的我的知識許可。此外,我已經剝離了我的Windows J9安裝庫中未安裝的J9庫。

有沒有人有任何想法如何獲得調試信息,而不是「未知來源」?是否有配置打印此信息?

視窗輸出:

>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編譯:線,乏,源)

謝謝!

回答

2

着這片documentation下列選項根據可用於顯示缺少的信息:

-Xlinenumbers
在調試堆棧跟蹤顯示行數。另見-Xnoline數字。默認情況下,行號已打開。

顯然,默認情況下,行號是關閉的。但是,正如該文件所述,該選項「非標準化,如有更改,恕不另行通知」。它現在會工作。

希望這個答案對未來的任何人都有用。

+0

不幸的是,這似乎與IBM JVM有關,並且在標準JVM中不起作用 – 2012-06-04 20:56:56