14

JVM でのクラスのロードをデバッグするには、 param を使用できますが、-verbose:classリソースのロード (プロパティ ファイルなど) をデバッグする方法を知っている人はいますか?

4

5 に答える 5

3

プロファイラーを使用して調べる必要があると思います。または、インストルメンテーション インターフェイスを使用するもの。

どれだけ安定しているかはわかりませんが、DTrace の Java バージョンの一種であるBTraceがあります。

BTrace は、Java プラットフォーム用の安全で動的なトレース ツールです。BTrace を使用して、実行中の Java プログラムを動的にトレースできます。BTrace は、ターゲット アプリケーションのクラスを動的に計測して、トレース コードを挿入します (「バイトコード トレース」)。トレース コードは Java プログラミング言語で表現されます。

開発マシンでこれを行っていて、イベント (読み込まれるリソース) の数がそれほど頻繁でない場合は、デバッガーにブレークポイントを設定することもできます。

于 2009-04-15T08:47:43.770 に答える
2

InTraceを使用して、ロードを行う Classloader クラスを計測できます。

Sun JVM の場合、次のインクルード パターンを使用して適切なクラスをトレースすることをお勧めします。

  • クラスローダー
  • URLクラスパス
  • ローダ
于 2011-06-19T22:10:34.507 に答える
1

Linux環境では、次のことを試すことができます。

lsof -p <jvm pid>

指定されたpidに関連付けられたプログラムによって使用される記述子のリストが表示されます。

より詳しい情報

于 2009-04-15T10:55:56.707 に答える