プロファイリングされるアプリケーションが XX:MaxJavaStackTraceDepth システム プロパティを -1 に設定すると、Java Mission Control の使用に問題が発生します。
再現するには:
- Java アプリケーションを起動します: java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:MaxJavaStackTraceDepth=-1
- デフォルト設定を使用してそのアプリのフライト記録を作成する
- 生成されたレコードの「コード」セクションを表示します。次のように空になります: http://imgur.com/if27cUu
システム: Ubuntu 14.04/amd64。Java 1.8.0_72。
なぜこれが起こるのかについて何か提案はありますか? スタック トレースを無制限に維持したいと思います (スタック トレースの先頭がない限り、見つけるのが非常に難しいまれなスタック オーバーフロー例外のため)。
-1 値はここから来ます: http://stas-blogspot.blogspot.se/2011/07/most-complete-list-of-xx-options-for.html#MaxJavaStackTraceDepth
編集: 元の質問は、誤って java.endorsed.dirs システム プロパティに責任を負わせました。私はたくさんのプロパティ セットを持っていて、削除の過程で混乱したに違いありません。