Sun Studio 12: dbx コマンドによるデバッグ

dbx を起動してプログラムを読み込む

dbxを起動するには、シェルプロンプトで dbx を入力します。


$ dbx

dbx を起動してデバッグ対象プログラムを読み込むには、次を入力します。


$ dbx program_name

dbx を起動して、Java コードおよび C JNI コードまたは C++ JNI コードが混在する プログラムを読み込むには、次を入力します。


$ dbx program_name{.class | .jar}

dbx コマンドを使用すると、dbx を起動し、プロセス ID で指定した実行中プロセスに接続できます。


$ dbx - process_id

プロセスの ID がわからない場合、dbx コマンドに pgrep コマンドを含めることで、ID を調べてプロセスに接続します。たとえば、次のようにします。


$ dbx - `pgrep Freeway`
の読み込み中
ld.so.1 の読み込み中
libXm.so.4 の読み込み中
libgen.so.1 の読み込み中
libXt.so.4 の読み込み中
libX11.so.4 の読み込み中
libce.so.0 の読み込み中
libsocket.so.1 の読み込み中
libCrun.so.1 の読み込み中
libm.so.1 の読み込み中
libw.so.1 の読み込み中
libSM.so.6 の読み込み中
libICE.so.6 の読み込み中
libXext.so.0 の読み込み中
libnsl.so.1 の読み込み中
libdl.so.1 の読み込み中
libmp.so.2 の読み込み中
libc_psr.so.1 の読み込み中
プロセス 1855 に接続しました。
_libc_poll at 0xfef9437c で停止しました。
0xfef9437c: _libc_poll+0x0004:ta 0x8
現関数: main
48 XtAppMainLoop(app_context);
(dbx)

dbx コマンドと起動オプションの詳細については、dbx コマンド」および dbx(1) マニュアルページを参照するか、dbx -h と入力してください。

すでに dbx を実行している場合、debug コマンドにより、デバッグ対象プログラムを読み込むか、デバッグしているプログラムを別のプログラムに切り替えることができます。


(dbx) debug program_name

Java コードおよび C JNI コードまたは C++ JNI コードを含むプログラムを読み込むかそれに切り替える場合は、次を入力します。


(dbx> debug program_name{.class | .jar}

すでに dbx を実行している場合、debug コマンドにより、dbx を実行中プロセスに接続することもできます。


(dbx) debug program_name process_id

Java コードと C JNI (Java Native Interface) コードまたは C++ JNI コードの混在する動作中のプロセスに dbx を接続するには、次のように入力します。


(dbx) debug program_name{.class | .jar} process_id

debug コマンドの詳細については、debug コマンド」を参照してください。