6.6.2 アプリケーション例外発生時の対策

OpenTP1のオンライン中にOpenTP1配下のプロセスからアプリケーション例外が発生した場合には,Windowsのデバッグハンドラがコールされ,レジストリに設定されたデバッグプログラムが起動されます。起動されるデバッグプログラムがVC++などの対話形式プログラムの場合,例外が発生したプログラムが終了されないため,OpenTP1システムが再開始(リラン)できないおそれがあります。システムの本番環境など,システムの回復処理が必須である環境では,Windowsのワトソン博士をレジストリに設定するようにしてください。

なお,ワトソン博士の設定は,Windows XP,およびWindows Server 2003以前のWindowsを使用している場合にだけ設定できます。これ以外のWindowsをご使用の場合は,Windowsエラー報告(WER)を使用して,クラッシュダンプを取得する設定を行ってください。

<この項の構成>
(1) ワトソン博士の出力環境の設定
(2) バックアップしたデバッグプログラム情報の復旧

(1) ワトソン博士の出力環境の設定

ワトソン博士を有効にするための環境設定の手順を次に示します。ワトソン博士の詳細については,Windowsのヘルプを参照してください。

  1. レジストリのバックアップを取得します。
    レジストリエディタ(regedit.exe)を起動して¥¥HKEY_LOCAL_MACHINE¥Software¥Microsoft¥Windows NT¥CurrentVersion¥AeDebugキーを開き,Debuggerエントリの値とAutoエントリの値のバックアップを取得します。その後,レジストリエディタを終了します。
  2. コマンドプロンプトから次のコマンドを実行して,ワトソン博士の設定を有効にします。

    drwtsn32 -i

  3. ワトソン博士の画面の設定を書き留めるなどして,すべての設定のバックアップを取得します。
  4. 必要に応じて,ワトソン博士のオプションを設定します。
    次の設定をしてください。
    • 「ログ ファイル パス」に有効なフォルダを指定する(デフォルトのままでも可)。
    • 「クラッシュ ダンプ」に有効なパスを指定する(デフォルトのままでも可)。
    • 「クラッシュ ダンプ」の種類で「完全」を選択する(Windows Server 2003の場合だけ)。
    • 「オプション」チェックボックスで,次の項目をONにする。
      ダンプシンボルテーブル
      すべてのスレッドコンテキストをダンプ
      クラッシュダンプファイルの作成
    オプションの設定は任意ですが,クラッシュダンプファイルはアプリケーション例外発生時の調査資料として有効ですので,取得することをお勧めします。
  5. 「OK」ボタンをクリックし,ワトソン博士を終了します。

(2) バックアップしたデバッグプログラム情報の復旧

バックアップしたデバッグプログラム情報を復旧する手順を次に示します。

  1. バックアップレジストリから復旧します。
    レジストリエディタ(regedit.exe)を起動して¥¥HKEY_LOCAL_MACHINE¥Software¥Microsoft¥Windows NT¥CurrentVersion¥AeDebugキーを開き,Debuggerエントリの値とAutoエントリの値にバックアップ内容をそれぞれ設定します。そのあと,レジストリエディタを終了します。
  2. ワトソン博士のオプションの設定を復旧するため,バックアップ内容をそれぞれ設定します。
  3. [OK]ボタンをクリックし,ワトソン博士を終了します。