dbx を動作中の Java アプリケーションに接続するには、アプリケーションを起動するときに次の例に示すオプションを指定します。アプリケーションが起動すると、動作中のプロセスのプロセス ID を指定して dbx コマンドを実行することによって、デバッグを開始することができます (「dbx コマンド」を参照)。
$ java -Djava.compiler=NONE -Xdebug -Xnoagent -Xrundbx_agent myclass.class $ dbx - 2345 |
JVM ソフトウェアが libdbx_agent.so を見つけられるようにするには、Java アプリケーションを実行する前に正しいパスを LD_LIBRARY_PATH に追加する必要があります。
Solaris OS を実行しているシステムで 32 ビットの JVM ソフトウェアを使用している場合は、/installation_directory /SUNWspro/lib/libdbx_agent.so を追加します。
Solaris OS を実行している SPARC システムで 64 ビットの JVM ソフトウェアを使用している場合は、/installation_directory /SUNWspro/lib/v9/libdbx_agent.so を LD_LIBRARY_PATH に追加します。
Linux OS を実行している x64 システムで 64 ビットの JVM ソフトウェアを使用している場合は、/installation_directory/sunstudio12/lib/amd64/libdbx_agent.so を LD_LIBRARY_PATH に追加します。
installation_directory は Oracle Solaris Studio ソフトウェアがインストールされている場所です。
動作中のアプリケーションに dbx を接続すると、dbx は Java モードでアプリケーションのデバッグを開始します。
Java アプリケーションが 64 ビットのオブジェクトライブラリを必要とする場合は、アプリケーションを起動するときに -d64 オプションを追加してください。この場合、dbx はアプリケーションが動作している 64 ビットの JVM ソフトウェアを使用します。
$ java -Djava.compiler=NONE -Xdebug -Xnoagent -Xrundbx_agent -d64 myclass.class $ dbx - 2345 |