Oracle® Solaris Studio 12.4: dbx コマンドによるデバッグ

印刷ビューの終了

更新: 2015 年 1 月
 
 

動作中の Java アプリケーションへの dbx の接続

アプリケーションを起動したときに次の例に示されているオプションを指定した場合は、dbx を実行中の Java アプリケーションに接続できます。 アプリケーションを起動したあとは、実行中の Java プロセスのプロセス ID を指定して dbx コマンドを使用することによってデバッグを開始します。

$ java -agentlib:dbx_agent myclass.class
$ dbx - 2345

    JVM ソフトウェアが libdbx_agent.so を見つけられるようにするには、Java アプリケーションを実行する前に正しいパスを LD_LIBRARY_PATH に追加する必要があります。

  • Solaris Oracle OS を実行しているシステム上の 32 ビットバージョンの JVM ソフトウェア: /install-dir/SUNWspro/lib/libdbx_agent.so を追加します。

  • Oracle Solaris OS を実行している SPARC ベースのシステム上の 64 ビットバージョンの JVM ソフトウェア: LD_LIBRARY_PATH/install-dir/SUNWspro/lib/v9/libdbx_agent.so を追加します。

  • Linux OS を実行している x64 ベースのシステム上の 64 ビットバージョンの JVM ソフトウェア: LD_LIBRARY_PATH/install-dir/sunstudio12/lib/amd64/libdbx_agent.so を追加します。

install-dir は、Oracle Solaris Studio がインストールされている場所です。

実行中のアプリケーションに dbx を接続すると、dbx は Java モードでアプリケーションのデバッグを開始します。

Java アプリケーションに 64 ビットのオブジェクトライブラリが必要な場合は、そのアプリケーションを起動するときに -d64 オプションを含めます。 この場合、dbx はアプリケーションが動作している 64 ビットの JVM ソフトウェアを使用します。

$ java -agentlib:dbx_agent
$ dbx - 2345

次のタスクは、プロセス ID を使用して dbx を特定の Java プロセスに接続する方法を説明しています。

実行中の Java プロセスに接続する

  1. 前のセクションの説明に従って LD_LIBRARY_PATHlibdbx_agent.so を追加することによって、JVM ソフトウェアが libdbx_agent.so を確実に見つけることができるようにします。
  2. 次のように入力して、Java アプリケーションを起動します。

    java –agentlib:dbx_agent myclass.class

  3. これで、プロセス ID を使用して dbx を起動することによってプロセスに接続できます。

    dbx -process-ID