日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V7.3-2
ライブラリ

タイトルページ
目次
まえがき
リファレンス・セクション
付録 A:廃止されたコマンド
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム
OpenVMS | HPE 日本

OpenVMS
DCL ディクショナリ


目次 索引




Bad Block Locator ユーティリティを起動します。このユーティリティはブロックでアドレス指定できる装置を分析し,データを格納できないブロック位置を記録します。

Bad Block Locator ユーティリティについての詳細は,『OpenVMS Bad Block Locator Utility Manual』 ( ドキュメンテーション CD-ROM に用意されています ),あるいはオンライン・ヘルプを参照してください。


形式

ANALYZE/MEDIA 装置




オブジェクト・ファイルの内容を分析し,エラーをチェックします。イメージ・ファイルの内容を分析する場合は,ANALYZE/IMAGE コマンドを使用してください。

形式

ANALYZE/OBJECT ファイル指定[,...]


パラメータ



ファイル指定[,...]

分析したいオブジェクト・ファイル,またはオブジェクト・モジュール・ライブラリ ( 省略時のファイル・タイプは .OBJ) を指定します。複数のファイル名を指定する場合は,ファイル名をコンマ (,) またはプラス記号 (+) で区切ります。ファイル指定でアスタリスク (*) およびパーセント記号 (%) ワイルドカード文字を使用することができます。

説明

ANALYZE/OBJECT コマンドは,1 つまたは複数のファイルに含まれている, 1 つまたは複数のオブジェクト・モジュールの内容を記述します。また,部分的なエラー分析を行うこともできます。オブジェクト・モジュールのすべてのレコードが,その内容,形式,指定順序において,Alpha または VAX のオブジェクト言語に準拠しているかどうか分析します。

拡張オブジェクト・モジュール・ヘッダ (EOMH) の形式を調べることにより ANALYZE/OBJECT コマンドは,Alpha システムのイメージ・ファイルと VAX システムのイメージ・ファイルを自動的に区別します。

ANALYZE/OBJECT コマンドは,コンパイラ,デバッガ,または ( オペレーティング・システムのオブジェクト・モジュールを含め ) 他のソフトウェアのプログラマ向けです。ANALYZE/OBJECT コマンドは,オブジェクト・モジュールにより生成されたオブジェクト言語レコードが, Linker ユーティリティからアクセスできるかチェックし,ファイル中のエラーを検出します。また,オブジェクト・ファイルまたはオブジェクト・モジュール・ライブラリ中のレコードの説明を提供します。リンカ,および Alpha と VAX のオブジェクト言語についての詳細は,『OpenVMS Linker Utility Manual』を参照してください。

ANALYZE/OBJECT コマンドは,最初のレコードから最後のレコードまで,順番にオブジェクト・モジュールを分析します。各レコードのフィールドは,最初のフィールドから最後のフィールドまで,順番に分析されます。オブジェクト・モジュールの分析が終わったら,各種レコードの内容と形式と, OpenVMS Alpha または OpenVMS VAX オブジェクト言語で記述される各種レコードの必須な内容と形式を比較します。分析出力に診断メッセージが含まれている場合は,こうして比較することが特に重要です。

オブジェクト・モジュールのリンクは,オブジェクト・モジュールの分析とは異なります。分析する時にはオブジェクト言語コマンドは実行されませんが,リンクする時には実行されます。その結果,分析した時にエラーがなくても,リンクした時にエラーが発生する可能性はあります。分析する時には,次の項目をチェックしません。

  • TIR コマンドのデータ引数の形式が正しいかどうか。

  • "Store Data" TIR コマンドが,有効なアドレス・リミットに格納しているか。

そのため,分析時にはエラーがなかったオブジェクト・モジュールも,リンク時にチェックする必要があります。

エラーが検出された場合は,最も重大なレベルの最初のエラーが返されます。たとえば警告(A) と 2 つのエラー(B および C) が検出された場合は,イメージ終了状態として最初のエラー(B) が返されます。イメージ終了状態は,イメージ終了時に DCL シンボル $STATUS に置かれます。

ANALYZE/OBJECT コマンドは,位置修飾子を使用します。位置修飾子とは,コマンド行で指定される位置により機能が異なる修飾子です。コマンド行ですべての入力ファイルより前に位置修飾子を指定すると,その修飾子はすべての入力ファイルに影響を与えます。たとえば次のコマンドは,ファイル A,B,および C のグローバル・シンボル・ディレクトリ・レコードを分析するように指定しています。


$ ANALYZE/OBJECT/GSD A,B,C

反対に,パラメータ・リスト中の 1 つのファイルに対して位置修飾子が指定された場合は,その修飾子はそのファイルにのみ影響を与えます。たとえば次のコマンドは,ファイル B( だけ ) のグローバル・シンボル・ディレクトリ・レコードを分析するよう指定しています。


$ ANALYZE/OBJECT A,B/GSD,C

一般に,オブジェクト・モジュールのすべてのレコードが分析されます。ただし,/DBG,/EOM,/GSD,/LNK,/MHD,/TBT,または /TIR 修飾子が指定された場合は,修飾子により識別されるレコード・タイプのみが分析されます。その他のレコード・タイプはすべて無視されます。

省略時の設定では ( 適切な修飾子を使用して明示的に分析に制限を指定しない限り ),すべてのレコード・タイプが分析されます。

注意

どのような修飾子を指定しても,モジュールの終端 (EOM) レコードとモジュール・ヘッダ (MHD)・レコードは分析されます。


修飾子



/DBG

位置修飾子

すべてのデバッガ情報レコードを分析することを指定します。パラメータ・リスト中のすべてのファイルのデバッガ情報を分析したい場合は,/OBJECT 修飾子の直後に /DBG 修飾子を指定します。選択的にデバッガ情報を分析したい場合は,デバッガ情報を分析したいファイルを指定した直後に /DBG 修飾子を指定します。

/EOM

位置修飾子

MHD レコード,EOM レコード,およびコマンドで明示的に指定したレコードだけを分析することを指定します。パラメータ・リスト中のすべてのファイルにこれを適用させたい場合は,/OBJECT 修飾子の直後に /EOM 修飾子を指定します。

/EOM 修飾子を選択的に指定したい場合は,適用させたいファイルを指定した直後に /EOM 修飾子を指定します。

注意

モジュールの終端レコードは,EOM または EOMW レコードになることができます。詳細は『OpenVMS Linker Utility Manual』を参照してください。



/GSD

位置修飾子

すべてのグローバル・シンボル・ディレクトリ (GSD)・レコードを分析することを指定します。

パラメータ・リスト中の各ファイルの GSD レコードを分析したい場合は, /OBJECT 修飾子の直後に /GSD 修飾子を指定します。

選択的に GSD レコードを分析したい場合は,GSD レコードを分析したいファイルを指定した直後に /GSD 修飾子を指定します。

/INCLUDE[=(モジュール[,...])]

指定したファイルがオブジェクト・モジュール・ライブラリの場合は,この修飾子を使用して,分析のためライブラリ内の選択したオブジェクト・モジュールをリストします。リストを省略したりアスタリスク (*) を指定したりすると,すべてのモジュールが分析されます。モジュールを 1 つだけ指定する場合は,括弧を省略できます。

/INTERACTIVE



/NOINTERACTIVE (省略時の設定)

分析を会話型で行うかどうかを指定します。会話型モードでは,各アイテムを分析するたびに画面に結果が表示され,継続するかどうか質問が表示されます。

/LNK

位置修飾子

すべてのリンク・オプション指定(LNK)レコードを分析することを指定します。

パラメータ・リスト中の各ファイルの LNK レコードを分析したい場合は, /OBJECT 修飾子の直後に /LNK 修飾子を指定します。

選択的に LNK レコードを分析したい場合は,LNK レコードを分析したいファイルを指定した直後に /LNK 修飾子を指定します。

/MHD

位置修飾子

MHD レコード,EOM レコード,およびコマンドで明示的に指定したレコードだけを分析することを指定します。パラメータ・リスト中のすべてのファイルにこれを適用させたい場合は,/OBJECT 修飾子の直後に /MHD 修飾子を指定します。

/MHD 修飾子を選択的に指定したい場合は,適用させたいファイルを指定した直後に /MHD 修飾子を指定します。

/OUTPUT[=ファイル指定]

オブジェクトの分析を格納する出力ファイルを指定します。省略時の設定では SYS$OUTPUT 装置に出力されます。ファイル・タイプを指定しファイル名を省略した場合は,省略時の設定によりファイル名は ANALYZE になります。省略時のファイル・タイプは .ANL です。

アスタリスク (*) やパーセント記号 (%) ワイルドカード文字を,ファイル指定に使用することはできません。

/SELECT=(キーワード[,...])

特定のイメージ・ファイルまたはオブジェクト・ファイルの情報を収集し,選択されたキーワード項目を指定された順序で表示します。

キーワードは次のとおりです。

キーワード 説明
ARCHITECTURE ファイルが OpenVMS Alpha のイメージ・ファイルまたはオブジェクト・ファイルである場合には "OpenVMS Alpha" を戻す。ファイルが OpenVMS VAX のイメージ・ファイルまたはオブジェクト・ファイルである場合には "OpenVMS VAX" を戻す。それ以外の場合は "Unknown" を戻す。
BUILD_IDENTIFICATION OpenVMS Alpha のイメージ・ファイルでは,イメージ・ヘッダに格納されているイメージ構築識別を二重引用符で囲んで戻す。 OpenVMS VAX のイメージ・ファイルでは,隣接する二重引用符で表現されるヌル文字列が戻される。それ以外の場合は "Unknown" を戻す。
FILE_TYPE ファイルが OpenVMS VAX または Alpha イメージ・ファイルである場合には "Image" を戻す。ファイルが OpenVMS VAX または Alpha オブジェクト・ファイルである場合には "Object" を戻す。それ以外の場合は "Unknown" を戻す。
IDENTIFICATION OpenVMS Alpha と VAX の両方のイメージ・ファイルで,イメージ・ヘッダに格納されているイメージ識別を二重引用符で囲んで戻す。それ以外の場合は "Unknown" を戻す。
IMAGE_TYPE ファイルが OpenVMS Alpha または OpenVMS VAX 共用可能イメージ・ファイルである場合には "Shareable" を戻す。ファイルが OpenVMS Alpha または OpenVMS VAX の実行可能な ( 非共用可能 ) イメージ・ファイルである場合には "Executable" を戻す。それ以外の場合は "Unknown" を戻す。
LINK_TIME OpenVMS Alpha と VAX の両方のイメージ・ファイルで,イメージ・ヘッダに格納されているイメージ・リンク時刻を二重引用符で囲んで戻す。それ以外の場合は "Unknown" を戻す。
NAME OpenVMS Alpha と VAX の両方のイメージ・ファイルで,イメージ・ヘッダに格納されているイメージ名を二重引用符で囲んで戻す。それ以外の場合は "Unknown" を戻す。



/TBT

位置修飾子

すべてのモジュール・トレースバック (TBT)・レコードを分析することを指定します。

パラメータ・リスト中の各ファイルの TBT レコードを分析したい場合は, /OBJECT 修飾子の直後に /TBT 修飾子を指定します。

選択的に TBT レコードを分析したい場合は,TBT レコードを分析したいファイルを指定した直後に /TBT 修飾子を指定します。

/TIR

位置修飾子

すべてのテキスト情報および再配置 (TIR) レコードを分析することを指定します。

パラメータ・リスト中の各ファイルの TIR レコードを分析したい場合は, /OBJECT 修飾子の直後に /TIR 修飾子を指定します。

選択的に TIR レコードを分析したい場合は,TIR レコードを分析したいファイルを指定した直後に /TIR 修飾子を指定します。


#1

$ ANALYZE/OBJECT/INTERACTIVE  LINEDT

この例で ANALYZE/OBJECT コマンドは説明を作成し,オブジェクト・ファイル LINEDT.OBJ を部分的にエラー分析します。省略時の設定では,レコードのすべてのタイプが分析されます。 /INTERACTIVE 修飾子が指定されているので,出力はターミナルに送られます。各アイテムを分析するたびに結果は画面に表示され,継続するかどうか質問が表示されます。

#2

$ ANALYZE/OBJECT/OUTPUT=LIOBJ/DBG  LINEDT

この例で ANALYZE/OBJECT コマンドは,ファイル LINEDT.OBJ のデバッガ情報レコードだけを分析します。出力は,ファイル LIOBJ.ANL に書き込まれます。

#3

$ ANALYZE/OBJECT/SELECT=(ARCH,FILE) *.OBJ
DISK:[DIRECTORY]ALPHA.OBJ;1 
OpenVMS ALPHA 
Object 
DISK:[DIRECTORY]MISNAMED.OBJ;1 
Unknown 
Unknown 
DISK:[DIRECTORY]VAX.OBJ;1 
OpenVMS VAX 
Object
 

この例は,オブジェクト・ファイル ALPHA.OBJ,未知ファイル MISNAMED.OBJ,オブジェクト・ファイル VAX.OBJ について要求された情報を表示しています。




OpenVMS デバッガを起動して,イメージの実行に失敗した時に作成されたプロセス・ダンプ・ファイルを分析します。ダンプ・ファイルを作成する場合は, RUN または SET PROCESS コマンドに /DUMP 修飾子を指定します。

Alpha システムでは,DUMP/PROCESS コマンドを使用することによって,プロセスを強制的にダンプすることもできます。

ANALYZE/PROCESS_DUMP コマンドは,Alpha または VAX のいずれかのイメージのプロセス・ダンプ・ファイルを表示するために OpenVMS デバッガを起動します。 (DEBUG コマンドに関する情報を含め ) デバッガについての詳細は,『OpenVMS デバッガ説明書』を参照してください。

ダンプ・ファイルに対して読み込み(R)アクセス権が必要です。


形式

ANALYZE/PROCESS_DUMP ダンプ・ファイル


パラメータ



ダンプ・ファイル

デバッガで分析するダンプ・ファイルを指定します。

説明

ANALYZE/PROCESS_DUMP コマンドは,実行時に失敗したイメージのダンプ・ファイルを調べます。 OpenVMS Debugger が自動的に起動されます。プロセスのダンプ・ファイルを作成するためには,イメージを起動する時に RUN コマンドに /DUMP 修飾子を指定するか,またはイメージを起動する前に SET PROCESS/DUMP コマンドを指定する必要があります。Alpha システムでは,DUMP/PROCESS コマンドを使用できます。

OpenVMS VAX システムの場合

この項は,バージョン 7.2 またはそれ以前の Alpha システムにも適用されます。

注意

ダンプを作成したシステムで,プロセス・ダンプを分析してください。異なるシステムにダンプ・ファイルを移動させると,正しく分析できない可能性があります。

ダンプ・イメージをロードできても,構成が異なるために, ANALYZE/PROCESS_DUMP コマンドの実行に失敗することがあります。たとえば,オペレーティング・システムのバージョンが異なっていても分析はされますが,その結果は保証されません。

この他に,P1 空間内の制御領域の構成,ダンプ時に実行中のプロセス,および ANALYZE/PROCESS_DUMP コマンドを実行するプロセスに関しての制限事項があります。各プロセスのためのユーザ・スタックの基底位置は,割り当てられた空間のサイズにより異なり,プロセスに互換性があるかどうかを決めます。ダンプを分析するために割り当てられた空間のサイズは,ダンプを作成したプロセスに割り当てられた空間のサイズより小さくなければなりません。オペレーティング・システムのバージョンは同じでも,異なるシステムでダンプを分析する場合は,割り当てられた空間のサイズに影響を与える 1 つまたは複数のシステム・パラメータを変更して,割り当てられた空間のサイズを小さくすることができます。

システム・パラメータ IMGIOCNT は,動的に変更することができます。その他のシステム・パラメータを適用させるためには,再ブートする必要があります。

Alpha システムでは,OpenVMS Debugger でダンプしたイメージを分析できないことがあります。たとえばダンプしたイメージの PC が無効なアドレスに設定された場合,またはダンプしたイメージのスタックが不良プロセス記述子により破損した場合は, Delta Debugger (DELTA) を使用してダンプを分析しなければなりません。デバッガとして DELTA を使用するには,Install ユーティリティを起動してイメージ SYS$LIBRARY:DELTA をインストールする必要があります。 Install ユーティリティについての詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

OpenVMS Alpha システムの場合

この項は,バージョン 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

VAX および Alpha システム上で,デバッガ・コマンド SHOW IMAGE, SHOW THREAD/ALL,および SHOW CALL によって表示される情報を表示します。

/IMAGE=ダンプ・ファイル

VAX システム上で,分析に使用するプロセス・コンテキストを設定するために起動するイメージを指定します。 /NOIMAGE 修飾子を使用すると,分析には DELTA デバッガが使用されます。

省略時の設定では,シンボルは,ダンプの時点で実行されていたイメージと同じ名前のイメージから取得されます。

/IMAGE_PATH[=ディレクトリ指定] ダンプ・ファイル



/NOIMAGE_PATH

Alpha システム上で,デバッガがデバッガ・シンボル・テーブル (DST) ファイルを探すために使用する検索パスを指定します。以前のデバッガと同様に,デバッガは保存済みのプロセス・イメージ・リストからイメージ・リストを構築します。イメージを設定すると ( メイン・イメージが自動的に設定されます ),デバッガはそのイメージをオープンして DST ファイルを探そうと試みます。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項