11.32.1 UNIXプラットフォーム上でのアプリケーション・プロセスのデバッグ
UNIXシステムの標準デバッグ・コマンドは、dbx
(1)です。このツールの詳細は、UNIXシステムのリファレンス・マニュアルでdbx
(1)を参照してください。-g
オプションを使用してクライアント・プロセスをコンパイルすると、dbx
(1)のリファレンス・ページで説明されている手順に従ってこれらのプロセスをデバッグできます。
dbx
コマンドを実行するには、次のように入力します。
dbx client
クライアント・プロセスを実行するには:
- コード内に必要なブレークポイントを設定します。
dbx
コマンドを入力します。dbx
のプロンプト(*
)で、run
サブコマンド(r
)と、クライアント・プログラムのmain()
に渡すオプションを入力します。
サーバー・プログラムのデバッグは、これよりも複雑な作業です。通常、サーバーはtmboot
コマンドを使用して起動します。このコマンドは、サーバーを正しいマシン上で正しいオプションを使って起動します。dbx
を使用する場合は、tmboot
コマンドからではなく、サーバーを直接実行する必要があります。サーバーを直接実行するには、dbx
コマンドによって表示されるプロンプトの後に、r
(run
の省略形)を入力します。
Oracle Tuxedoのtmboot(1)
コマンドは、サーバーであらかじめ定義されているmain()
に、非公開のコマンド行オプションを渡します。サーバーを直接実行するには、これらのオプションをr
サブコマンドに手動で渡す必要があります。指定する必要のあるオプションを確認するには、-n
と-d 1
オプションを指定してtmboot
を実行します。-n
オプションは、tmboot
が起動処理を行わないことを指定します。-d 1
は、レベル1のデバッグ文を表示することを指定します。デフォルトでは、-d 1
オプションは、すべてのプロセスに関する情報を返します。1つのプロセスに関する情報だけが必要な場合は、必要に応じてオプションを追加してリクエストを指定できます。詳細については、『Oracle Tuxedoコマンド・リファレンス』を参照してください
tmboot -n -d 1
を実行すると、次の例に示すように、tmboot
からサーバーのmain()
に渡されるコマンド行オプションのリストが出力されます。
exec server -g 1 -i 1 -u sfmax -U /tuxdir/appdir/ULOG -m 0 -A
必要なコマンド行オプションを確認したら、dbx
(1)のr
サブコマンドでサーバー・プログラムを直接実行できます。次は、コマンド行の例です。
*r -g 1 -i 1 -u sfmax -U /tuxdir/appdir/ULOG -m 0 -A
構成の一部としてすでに動作中のサーバーを実行する場合は、dbx
(1)は使用しません。使用した場合、サーバーは正常に終了して、サーバーが複製されたことを示すメッセージが中央イベント・ログに書き込まれます。
親トピック: アプリケーション・プロセスのデバッグ