日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
ANALYZE/PROCESS_DUMP |
OpenVMS デバッガを起動して,イメージの実行に失敗した時に作成されたプロセス・ダンプ・ファイルを分析します。ダンプ・ファイルを作成する場合は, RUN または SET PROCESS コマンドに /DUMP 修飾子を指定します。Alpha システムでは,DUMP/PROCESS コマンドを使用することによって,プロセスを強制的にダンプすることもできます。
ANALYZE/PROCESS_DUMP コマンドは,Alpha イメージのプロセス・ダンプ・ファイルを表示するために OpenVMS デバッガを起動します。 (DEBUG コマンドに関する情報を含め ) デバッガについての詳細は,『HP OpenVMS デバッガ説明書』を参照してください。
ダンプ・ファイルに対して読み込み(R)アクセス権が必要です。
ANALYZE/PROCESS_DUMP ダンプ・ファイル
ダンプ・ファイル
デバッガで分析するダンプ・ファイルを指定します。
ANALYZE/PROCESS_DUMP コマンドは,実行時に失敗したイメージのダンプ・ファイルを調べます。 OpenVMS Debugger が自動的に起動されます。プロセスのダンプ・ファイルを作成するためには,イメージを起動する時に RUN コマンドに /DUMP 修飾子を指定するか,またはイメージを起動する前に SET PROCESS/DUMP コマンドを指定する必要があります。Alpha システムでは,DUMP/PROCESS コマンドを使用できます。この項は,バージョン 7.2 またはそれ以前の Alpha システムに適用されます。
この他に,P1 空間内の制御領域の構成,ダンプ時に実行中のプロセス,および ANALYZE/PROCESS_DUMP コマンドを実行するプロセスに関しての制限事項があります。各プロセスのためのユーザ・スタックの基底位置は,割り当てられた空間のサイズにより異なり,プロセスに互換性があるかどうかを決めます。ダンプを分析するために割り当てられた空間のサイズは,ダンプを作成したプロセスに割り当てられた空間のサイズより小さくなければなりません。オペレーティング・システムのバージョンは同じでも,異なるシステムでダンプを分析する場合は,割り当てられた空間のサイズに影響を与える 1 つまたは複数のシステム・パラメータを変更して,割り当てられた空間のサイズを小さくすることができます。
システム・パラメータ IMGIOCNT は,動的に変更することができます。その他のシステム・パラメータを適用させるためには,リブートする必要があります。
バージョン 7.2 またはそれ以前の Alpha システムでは,システム・パラメータ IMGREG_PAGES の割り当てサイズで問題が発生する場合があります。 DECwindows を使用していないシステムで生成されたダンプを DECwindows を使用しているシステムで確認する場合, P1 メッセージが表示されます。 DECwindows は, IMGREG_PAGES が少なくとも 2000 ページであることを必要とし,これは 1200 から 1400 ページよりも大きな値になっています。
場合によっては,OpenVMS Debugger でダンプしたイメージを分析できないことがあります。たとえばダンプしたイメージの PC が無効なアドレスに設定された場合,またはダンプしたイメージのスタックが不良プロセス記述子により破損した場合は, Delta Debugger (DELTA) を使用してダンプを分析しなければなりません。デバッガとして DELTA を使用するには,Install ユーティリティを起動してイメージ SYS$LIBRARY:DELTA をインストールする必要があります。 Install ユーティリティについての詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。
以下の内容は,バージョン 7.3 またはそれ以降の OpenVMS Alpha システムに適用されます。
これで,ダンプが生成されたシステム以外のシステム上でダンプ・ファイルを分析できるようになります。ただし,ベース・イメージのリンクの日付と時刻が等しくない場合には,ダンプが生成されたシステムからファイル SYS$BASE_IMAGE.EXE をコピーし,これを論理名 SDA$READ_DIR でポイントする必要があります。次に例を示します。
$ COPY other_node::SYS$LOADABLE_IMAGES:SYS$BASE_IMAGE.EXE my_disk$:[my_dir] $ DEFINE/USER SDA$READ_DIR my_disk$:[my_dir],SYS$SYSROOT:[SYS$LDR],SYS$SYSROOT:[SYSLIB] $ ANALYZE/PROCESS_DUMP mycrash.dmp
ダンプが生成されたシステム以外のシステムで,スレッド化されたプロセス・ダンプを分析する場合には,ダンプが生成されたシステム上の PTHREAD$RTL と PTHREAD$DBGSHR (DECthread デバッグ・アシスタント) もコピーし,ポイントしなければならないことがあります。次に例を示します。
$ COPY other_node::SYS$LOADABLE_IMAGES:SYS$BASE_IMAGE.EXE my_disk$:[my_dir] $ COPY other_node::SYS$SHARE:PTHREAD$RTL.EXE my_disk$:[my_dir] $ COPY other_node::SYS$SHARE:PTHREAD$DBGSHR.EXE my_disk$:[my_dir] $ DEFINE/USER SDA$READ_DIR my_disk$:[my_dir],SYS$SYSROOT:[SYS$LDR],SYS$SYSROOT:[SYSLIB] $ DEFINE/USER PTHREAD$RTL my_disk$:[my_dir]PTHREAD$RTL.EXE $ DEFINE/USER PTHREAD$DBGSHR my_disk$:[my_dir]PTHREAD$DBGSHR.EXE $ ANALYZE/PROCESS_DUMP mycrash.dmp
デバッガでプロセス・ダンプを分析できない場合には, System Dump Analyzer (SDA) ユーティリティを使用してください。詳細は,オンライン・へルプの ANALYZE /CRASH コマンドを参照してください。次に例を示します。
$ ANALYZE/CRASH mycrash.dmp OpenVMS (TM) Alpha system dump analyzer ...analyzing a compressed process dump... Dump taken on 19-OCT-1999 12:03:40.95 SDA> .. . .
/FULL
Alpha システム上で,デバッガ・コマンド SHOW IMAGE, SHOW THREAD/ALL,および SHOW CALL によって表示される情報を表示します。/IMAGE_PATH[=ディレクトリ指定] ダンプ・ファイル
/NOIMAGE_PATH
Alpha システム上で,デバッガがデバッガ・シンボル・テーブル (DST) ファイルを探すために使用する検索パスを指定します。以前のデバッガと同様に,デバッガは保存済みのプロセス・イメージ・リストからイメージ・リストを構築します。イメージを設定すると ( メイン・イメージが自動的に設定されます ),デバッガはそのイメージをオープンして DST ファイルを探そうと試みます。/IMAGE_PATH= ディレクトリ指定 修飾子を指定すると,デバッガは指定されたディレクトリの中で DST ファイルを探します。デバッガはまず ディレクトリ指定 をディレクトリ検索リストの論理名として変換しようと試みます。これに失敗すると,デバッガは ディレクトリ指定 をディレクトリ指定として解釈し,そのディレクトリの中で対応する .DSF または .EXE ファイルを探します。 .DSF ファイルの方が.EXE ファイルよりも優先されます。 .DSF または .EXE ファイルの名前はイメージと一致していなければなりません。
/IMAGE_PATH= ディレクトリ指定 修飾子を指定しなかった場合,デバッガはまずダンプ・ファイルを含んでいるディレクトリの中で DST ファイルを探します。これに失敗すると,デバッガはディレクトリ SYS$SHARE を,次にディレクトリ SYS$MESSAGE を探します。デバッガがイメージの DST ファイルを見つけられなかった場合,デバッガが利用できるシンボリック情報はグローバルおよびユニバーサル・シンボル名に限定されます。
バージョン 7.3 とそれ以降のデバッガは,ダンプ・ファイルのイメージ指定と DST ファイルのリンクの日付と時刻が一致しているかどうかをチェックし,一致していなければ警告を発します。
ダンプ・ファイル ・パラメータは,分析するプロセス・ダンプ・ファイルの名前です。プロセス・ダンプ・ファイルのファイル・タイプは .DMP でなければならず, DST ファイル・タイプは .DSF または.EXE でなければならないことに注意してください。
制限事項
論理名を使用してイメージの検索をリダイレクトしたり, /IMAGE_PATH 修飾子を同時に使用することはできません。 /IMAGE_PATH 修飾子を使用する場合は,元の場所にないすべてのイメージが,このパスで検索できるところに置かれている必要があります。個別のイメージ論理名 ("DEFINE SH SYS$LOGIN:SH.EXE" の中の "SH" など ) は処理されません。また,コンマで区切られたディレクトリ・リストは処理されないので, /IMAGE_PATH 修飾子にディレクトリ検索パスを直接入力することはできません。ただし,ディレクトリ検索パスに変換される論理名を指定することはできます。
#1 |
---|
$ ANALYZE/PROCESS/FULL WECRASH.DMP OpenVMS Alpha Debug64 Version X7.3-010 %SYSTEM-F-IMGDMP, dynamic image dump signal at PC=001D0F8CB280099C, PS=001D0028 break on unhandled exception preceding WECRASH\th_run\%LINE 26412 in THREAD 8 %DEBUG-W-UNAOPNSRC, unable to open source file DSKD$:[IMGDMP]WECRASH.C;11 -RMS-F-DEV, error in device name or inappropriate device type for operation 26412: Source line not available image name set base address end address CMA$TIS_SHR no 000000007B8CA000 000000007B8D7FFF CODE0 FFFFFFFF80500000 FFFFFFFF805033FF DATA1 000000007B8CA000 000000007B8CB3FF DATA2 000000007B8CC000 000000007B8D13FF DATA3 000000007B8D2000 000000007B8D21FF DATA4 000000007B8D4000 000000007B8D41FF DATA5 000000007B8D6000 000000007B8D63FF DECC$SHR no 000000007BE7A000 000000007BF0DFFF CODE0 FFFFFFFF8055C000 FFFFFFFF806C9DFF DATA1 000000007BE7A000 000000007BEACFFF DATA2 000000007BEBA000 000000007BEC2DFF DATA3 000000007BECA000 000000007BED77FF DATA4 000000007BEDA000 000000007BEDA9FF DATA5 000000007BEEA000 000000007BEEA1FF DATA6 000000007BEFA000 000000007BEFE7FF DATA7 000000007BF0A000 000000007BF0D1FF DPML$SHR no 000000007BB92000 000000007BBD1FFF CODE0 FFFFFFFF80504000 FFFFFFFF8055B5FF DATA1 000000007BB92000 000000007BBAC1FF DATA2 000000007BBAE000 000000007BBBDBFF DATA3 000000007BBBE000 000000007BBBE1FF DATA4 000000007BBC0000 000000007BBCC9FF DATA5 000000007BBCE000 000000007BBCE3FF DATA6 000000007BBD0000 000000007BBD07FF LIBOTS no 000000007B5AA000 000000007B5B1FFF DATA1 000000007B5AA000 000000007B5AC5FF DATA2 000000007B5AE000 000000007B5AFBFF DATA3 000000007B5B0000 000000007B5B01FF LIBRTL no 000000007B558000 000000007B5A9FFF CODE0 FFFFFFFF8041C000 FFFFFFFF804BD7FF DATA1 000000007B558000 000000007B5669FF DATA2 000000007B568000 000000007B5697FF DATA3 000000007B578000 000000007B5845FF DATA4 000000007B588000 000000007B5881FF DATA5 000000007B598000 000000007B59A5FF DATA6 000000007B5A8000 000000007B5A99FF PTHREAD$RTL no 000000007BBD2000 000000007BC27FFF DATA0 000000007BBD2000 000000007BBDA1FF DATA1 000000007BBDC000 000000007BBDF3FF DATA2 000000007BBE0000 000000007BBE2FFF DATA3 000000007BBE4000 000000007BC1E1FF DATA4 000000007BC20000 000000007BC20BFF DATA5 000000007BC22000 000000007BC247FF DATA6 000000007BC26000 000000007BC275FF *WECRASH yes 0000000000010000 00000000000403FF total images: 7 Thread Name State Substate Policy Pri ------ ------------------------- --------------- ----------- ------------ --- 1 default thread blocked join 2 SCHED_OTHER 11 2 thread 0: counting ready VP 0 SCHED_OTHER 11 3 thread 1: dumping ready VP 0 SCHED_OTHER 11 4 thread 2 blocked delay SCHED_OTHER 11 5 thread 3 blocked delay SCHED_OTHER 11 6 thread 4 blocked delay SCHED_OTHER 11 7 thread 5: counting ready VP 0 SCHED_OTHER 11 8 thread 6: dumping running SCHED_OTHER 11 9 thread 7 blocked delay SCHED_OTHER 11 10 thread 8 blocked delay SCHED_OTHER 11 11 thread 9 blocked delay SCHED_OTHER 11 module name routine name line rel PC abs PC *WECRASH th_run 26411 0000000000000244 0000000000030244 SHARE$PTHREAD$RTL_DATA0 000000000001F15C 000000007BC0315C SHARE$PTHREAD$RTL_DATA0 000000000000F494 000000007BBF3494 0000000000000000 0000000000000000 ----- the above looks like a null frame in the same scope as the frame below SHARE$PTHREAD$RTL_DATA0 ? ? DBG> DBG> set source/latest sys$disk:[] DBG> examine/source .pc-4 module WECRASH 26411: lib$signal(SS$_IMGDMP); DBG> |
この例は,Alpha システムで /FULL 修飾子の使用による,マルチスレッド・プロセス・ダンプ上の ANALYZE/PROCESS コマンドの出力を示しています。
目次 | 索引 |
|