BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   C 言語を使用した BEA Tuxedo アプリケーションのプログラミング   |   先頭へ   |   前へ   |   次へ   |   目次

 


アプリケーション・プロセスのデバッグ

userlog(3c) 文を使用して、アプリケーション・ソフトウェアをデバックできます。しかし、問題が複雑な場合は、デバッガ・コマンドを使用することもあります。

以下の節では、UNIX および Windows 2000 プラットフォーム上でアプリケーションをデバッグする方法について説明します。

UNIX プラットフォーム上でのアプリケーション・プロセスのデバッグ

UNIX システムの標準デバッグ・コマンドは、dbx(1) です。このツールの詳細については、UNIX システムのリファレンス・マニュアルで dbx(1) を参照してください。-g オプションを使用してクライアント・プロセスをコンパイルすると、dbx(1) のリファレンス・ページで説明されている手順に従ってこれらのプロセスをデバッグできます。

dbx コマンドを実行するには、次のように入力します。

dbx client

クライアント・プロセスを実行するには、次の手順に従います。

  1. コード内に必要なブレークポイントを設定します。

  2. dbx コマンドを入力します。

  3. dbx のプロンプト (*) で、run サブコマンド (r) と、クライアント・プログラムの main() に渡すオプションを入力します。

サーバ・プログラムのデバッグは、これよりも複雑な作業です。通常、サーバは tmboot コマンドを使用して起動します。このコマンドは、サーバを正しいマシン上で正しいオプションを使って起動します。dbx を使用する場合は、tmboot コマンドからではなく、サーバを直接実行する必要があります。サーバを直接実行するには、dbx コマンドによって表示されるプロンプトの後に、r (run の省略形) を入力します。

BEA Tuxedo の tmboot(1) コマンドは、サーバであらかじめ定義されている main() に、非公開のコマンド行オプションを渡します。サーバを直接実行するには、これらのオプションを r サブコマンドに手動で渡す必要があります。指定する必要のあるオプションを確認するには、-n-d 1 オプションを指定して tmboot を実行します。-n オプションは、tmboot が起動処理を行わないことを指定します。-d 1 は、レベル 1 のデバッグ文を表示することを指定します。デフォルトでは、-d 1 オプションは、すべてのプロセスに関する情報を返します。1 つのプロセスに関する情報だけが必要な場合は、必要に応じてオプションを追加して要求を指定できます。詳細については、『BEA 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) は使用しません。使用した場合、サーバは正常に終了して、サーバが複製されたことを示すメッセージが中央イベント・ログに書き込まれます。

Windows 2000 プラットフォーム上でのアプリケーション・プロセスのデバッグ

Windows 2000 プラットフォームには、Microsoft Visual C++ 環境の一部としてグラフィカル・デバッガが提供されています。このツールの詳細については、Microsoft Visual C++ のリファレンス・マニュアルを参照してください。

Microsoft Visual C++ のデバッガを起動するには、次のように start コマンドを入力します。

start msdev -p process_ID

注記 Microsoft Visual C++ 5.0 以前のデバッガを使用する場合は、次のように start コマンドを入力します。

start msdev -p process_id

デバッガを起動して自動的にプロセスに入るには、次のようにプロセス名と引数を start コマンド行に指定します。

start msdev filename argument

たとえば、デバッガを起動し、引数に ConvertThisString を指定して simpcl.exe プロセスに入るには、次のコマンドを入力します。

start msdev simpcl.exe ConvertThisString

ユーザ・モード例外が発生すると、メッセージが表示されて、デフォルトのシステム・デバッガを起動して、プログラム障害の発生場所、レジストリやスタックの状態を調べるように求められます。Windows 2000 環境では、ユーザ・モード例外の障害発生時にはデフォルトのデバッガとして「ワトソン博士」が使用され、Win32 SDK 環境ではカーネル・デバッガが使用されます。

ユーザ・モード例外の障害発生時に使用される Windows 2000 システムのデフォルト・デバッガを変更するには、次の手順に従います。

  1. regedit または regedt32 を実行します。

  2. HKEY_LOCAL_MACHINE サブツリー内で、 \SOFTWARE\Microsoft\Windows\CurrentVersion\AeDebug に移動します。

  3. Debugger キーをダブルクリックして、[文字列の編集] ダイアログ ボックスを表 示します。

  4. 現在表示されている文字列を変更して、使用するデバッガを指定します。

    たとえば、Microsoft Visual C++ 環境で提供されるデバッガを指定する場合は、次のコマンドを入力します。

    msdev.exe -p %ld -e %ld

注記 Microsoft Visual C++ 5.0 以前のデバッガを使用する場合は、次のようにコマンドを入力します。

msvc.exe -p %ld -e %ld

 

先頭へ戻る 前のトピックへ 次のトピックへ