3.3.17 ユーザダンプ取得の設定

ここでは,Windowsの場合に,ユーザダンプを取得するための設定について説明します。

<この項の構成>
(1) タスクマネージャまたはWindowsのデバッグツールを使用する場合(Windows Server 2008またはWindows Vistaの場合)
(2) ワトソン博士を使用する場合(Windows XPの場合)
(3) cjstopsvコマンドを使用する場合(Windows Server 2012,Windows Server 2008,Windows 8,Windows 7,またはWindows Vistaの場合)
(4) mngsvrutilコマンドを使用する場合
(5) 論理サーバの強制停止時に取得する場合(Windows Server 2012,Windows Server 2008,Windows 8,Windows 7,またはWindows Vistaの場合)

(1) タスクマネージャまたはWindowsのデバッグツールを使用する場合(Windows Server 2008またはWindows Vistaの場合)

製品がハングアップした場合,トラブルシューティングに必要な資料としてユーザダンプが必要となります。ユーザダンプを取得する場合は,タスクマネージャまたはWindowsのデバッグツールを使用します。詳細は,Microsoft社のホームページを参照してください。

なお,JavaVMの異常終了時にユーザダンプを即座に取得したい場合は,製品を起動する前に,レジストリで次の設定をしておいてください。レジストリの設定は,システム全体に影響を与えることがあるため,設定時には十分注意してください。ただし,cjstartsv.exe,cjstartweb.exe,cjclstartap.exe,およびadminagent.exeについては,製品のインストール時に自動的に設定されます。

(2) ワトソン博士を使用する場合(Windows XPの場合)

Windows XPの場合,Windowsのデバッグツールとしてワトソン博士(drwtsn32)を使用することをお勧めします。ワトソン博士を使用してユーザダンプを取得する場合は,ワトソン博士を使用できるように設定しておいてください。ワトソン博士のオプションとして「ダンプ シンボル テーブル」「すべてのスレッド コンテキストをダンプ」「クラッシュ ダンプ ファイルの作成」を設定します。ワトソン博士の使用方法についてはOS付属のマニュアルなどを確認してください。

なお,JavaVMの異常終了時にユーザダンプを即座に取得したい場合は,次の設定をしてください。

  1. drwtsn32 -iを実行して,ワトソン博士を規定のアプリケーションデバッガとしてインストールします。
    このコマンドを実行すると,レジストリのHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥AeDebugキーのAutoが1に変更されます。
  2. Windowsの[コントロールパネル]の中の[システム]を選択し,[詳細設定]タブの中の[エラー報告]ボタンをクリックして,次の設定をします。
    • [エラー報告を無効にする]ラジオボタンを選択する
    • [重大なエラーが発生した場合は通知する]チェックボックスのチェックを外す

また,プロセスがハングアップした場合にユーザダンプを取得するために,Microsoft社が提供しているuserdump.exeを入手しておきます。詳細はMicrosoft社のホームページなどを参照してください。

(3) cjstopsvコマンドを使用する場合(Windows Server 2012,Windows Server 2008,Windows 8,Windows 7,またはWindows Vistaの場合)

cjstopsvコマンドの-fdオプションを使用してユーザダンプを取得する場合は,環境変数「CJMEMDUMP_PATH」にユーザダンプの出力先ディレクトリを指定しておいてください。ユーザダンプのファイル名は,cjmemdump.dmpです。

環境変数「CJMEMDUMP_PATH」の設定例を次に示します。

環境変数「CJMEMDUMP_PATH」の設定例

set CJMEMDUMP_PATH=C:¥temp

この例の場合,C:¥tempの下にcjmemdump.dmpが作成されます。

なお,環境変数「CJMEMDUMP_PATH」を指定する場合には,次の点に注意してください。

(4) mngsvrutilコマンドを使用する場合

mngsvrutilコマンドのサブコマンドdumpを使用してユーザダンプを取得する場合は,プロセスがハングアップしたときにユーザダンプを取得するために,Microsoft社が提供しているuserdump.exeを入手しておきます。詳細はMicrosoft社のホームページなどを参照してください。

注意
入手したuserdump.exeが,Microsoft社の「User Mode Process Dumper Version 8.1」以降の場合,インストール後に次の内容を実施してください。
  • mngsvrutilコマンドでユーザダンプを取得する前の準備作業として,動作環境にuserdump.exeが存在するかを確認する。
  • userdump.exeが複数存在する場合は,Microsoft社が提供するuserdump.exeの格納先が先頭になるように,システム環境変数のPATHを変更する。
なお,システム環境変数で変更した内容を有効にするために,OSを再起動してください。
また,Management Serverから論理サーバとしてJ2EEサーバを起動している場合,このコマンドによる強制停止は行わないでください。行った場合にはManagement ServerはJ2EEサーバが異常停止したと判断して動作します。

(5) 論理サーバの強制停止時に取得する場合(Windows Server 2012,Windows Server 2008,Windows 8,Windows 7,またはWindows Vistaの場合)

Management Serverを使用してシステムを構築する場合,論理サーバの強制停止時にユーザダンプを取得するときは,環境変数「CJMEMDUMP_PATH」にユーザダンプの出力先ディレクトリを指定しておいてください。この環境変数を指定しておくと,論理J2EEサーバおよび論理SFOサーバ(互換機能)が強制停止されたときに,この環境変数で指定したディレクトリ下にユーザダンプを取得できます。ユーザダンプのファイル名は,cjmemdump.dmpです。詳細は,マニュアル「アプリケーションサーバ システム構築・運用ガイド」の「4.1.11 システムの環境変数を設定する」を参照してください。