2

J9 VM を使用して、Linux マシン (BusyBox) でアプリケーションを実行しています。J9 を使用して Windows 環境で開発およびテストを行うと、スタック トレースに関する完全なデバッグ情報が得られます。これは、Linux マシンでは発生しません。

私の知識が許す限り、両方の VM の構成を確認しました。また、Linux J9 インストールにないライブラリの Windows 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,source でコンパイルされた同じ Test.class を参照します。)

ありがとう!

4

1 に答える 1

2

このドキュメントによると、次のオプションを使用して不足している情報を表示できます。

-Xlinenumbers
デバッグ用にスタック トレースの行番号を表示します。-Xnolinenumbers も参照してください。デフォルトでは、行番号はオンになっています。

どうやら、デフォルトでは、行番号はオフになっています。ただし、ドキュメントに記載されているように、このオプションは「非標準であり、予告なしに変更される可能性があります」。今のところ動作します。

この回答が将来誰にとっても役立つことを願っています。

于 2010-09-16T16:49:04.730 に答える