日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 部:デバッガ概要
第 1 章:デバッガ概要
第 2 部:コマンド・インタフェース
第 2 章:デバッガの起動
第 3 章:プログラム実行の制御とモニタ
第 4 章:プログラム・データの検査と操作
第 5 章:プログラム内シンボルへのアクセス制御
第 6 章:ソース・コードの表示の制御
第 7 章:画面モード
第 3 部:DECwindows インタフェース
第 8 章:DECwindows Motifインタフェースの概要
第 9 章:デバッグ・セッションの開始と終了
第 10 章:デバッガの使用方法
第 4 部:PC クライアント・インタフェース
第 11 章:デバッガの PC クライアント/サーバ・インタフェースの概要
第 5 部:高度なトピック
第 12 章:ヒープ・アナライザの使用
第 13 章:その他の便利な機能
第 14 章:特殊なデバッグ
第 15 章:マルチプロセス・プログラムのデバッグ
第 16 章:タスキング・プログラムのデバッグ
第 6 部:付録
付録 A :定義済みのキー機能
付録 B :組み込みシンボルと論理名
付録 C :各言語に対するデバッガ・サポートの要約
付録 D :EIGHTQUEENS.C
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ説明書


目次 索引



終了ハンドラは,イメージがシステム・サービス$EXITを要求したり,実行が終了したりしたときに呼び出されるプロシージャです。ユーザ・プログラムは1つまたは複数の終了ハンドラを宣言することができます。デバッガは常に自分自身の終了ハンドラを宣言します。

プログラム終了時,アプリケーションで宣言された終了ハンドラがすべて実行されたあとにデバッガの終了ハンドラが実行されます。

アプリケーションで宣言された終了ハンドラをデバッグするには,次の手順に従ってください。

  1. デバッグする終了ハンドラにブレークポイントを設定する。

  2. 次のいずれか1つの方法で終了ハンドラを実行する。

    • 終了ハンドラを起動する命令をプログラム内に指定する。通常は $EXIT を呼び出す。

    • プログラムを終了させる。

    • EXIT コマンドを入力する。QUIT コマンドはユーザが宣言した終了ハンドラを実行しないので注意する。


    終了ハンドラが実行されると,ブレークポイントが有効になり,制御がデバッガに戻る。続いてコマンドの入力を要求するプロンプトが表示される。

SHOW EXIT_HANDLERS コマンドは,ユーザ・プログラムで宣言した終了ハンドラを表示します。終了ハンドラのルーチンは,呼び出された順番に表示されます。ルーチン名は可能であればシンボルとして表示されます。そうでない場合はアドレスが表示されます。デバッガの終了ハンドラは表示されません。次に例を示します。

DBG> SHOW EXIT_HANDLERS
exit handler at STACKS\CLEANUP 
exit handler at BLIHANDLER\HANDLER1
DBG>



14.7 ASTドライブ式プログラムのデバッグ

プログラムは,非同期システム・トラップ (AST) を明示的に使用したり,システムサービス,またはアプリケーションで定義された AST ルーチンを呼び出す実行時ライブラリ (RTL) ルーチンを呼び出すことによって,暗黙に使用したりできます。 第 14.7.1 項 では,ユーザのプログラムから発行された AST の実行要求を禁止したり許可にしたりすることによってデバッグを行う方法を説明します。

14.7.1 ASTの実行要求の禁止と許可

AST ドライブ式プログラムのデバッグは混乱することがあります。デバッガが実行を続けている間 ( コマンドを処理したり,例外をトレースしたり,情報を表示したりしている間 ) に,デバッグ中のプログラムからの割り込みが発生し,処理されないことがあるからです。

省略時の設定では,AST の実行要求はプログラムが実行されている間は許可されています。DISABLE AST コマンドはプログラムが実行されている間の AST の実行要求を禁止し,このような割り込みの発生をキューに登録します。

AST の実行要求は,デバッガの実行中は常に禁止されます。

静的ウォッチポイントが有効な場合,デバッガは,システム・サービス呼び出しの直前に,静的ウォッチポイント,AST,スレッド切り替えをオフにします。デバッガは,システム・サービス呼び出しが終了した直後に再起動します。詳細については,SET WATCH コマンドの項を参照してください。 ENABLE AST コマンドは,待ち状態にある AST の実行要求も含め, AST の実行要求を再び許可します。 SHOW AST コマンドは,AST の実行要求が禁止されているか許可されているかを示します。

CALL コマンドで呼び出されたルーチンの実行中,AST の実行要求を制御するには,/[NO]ASC 修飾子を使用します。CALL/AST コマンドは,呼び出されたルーチン内の AST の実行要求を許可します。 CALL/NOAST コマンドは,呼び出されたルーチン内の AST の実行要求を禁止します。CALL コマンドで /AST も /NOAST も指定しない場合は,前に DISABLE AST コマンドを入力していないかぎり,AST の実行要求は許可されます。

14.8 変換されたイメージのデバッグ (Alpha および Integrity のみ)

OpenVMS Alpha システムおよび Integrity システムの場合,デバッガは,変換されたイメージのデバッグをサポートしてしません。変換されたイメージをデバッグする必要があるときは,Delta/XDelta デバッガを使用してください。このデバッガの詳細については,『HP OpenVMS Delta/XDelta Debugger Manual』を参照してください。

14.9 同期化または通信機能を実行するプログラムのデバッグ

同期化または通信を実行する一部のプログラムでは,デバッグで問題が発生することがあります。たとえば,デバック中のアプリケーションで $DEQ システム・サービス呼び出しに LCK$M_DEQALL 修飾子が含まれている場合などです (この修飾子は,ユーザ・プロセス (カーネル) のデバッガの部分とデバッガのメイン・プロセスとの間の通信リンクを破壊します)。

14.10 インライン・ルーチンのデバッグ

OpenVMS システムでは,デバッガはインライン・ルーチンのデバッグをサポートしません。インライン・ルーチンをデバッグしようとすると,次の例に示すように,デバッガはルーチンにアクセスできないことを示すメッセージを出力します。

%DEBUG-E-ACCESSR, no read access to address 00000000

この問題を回避するには,/NOOPTIMIZE 修飾子を使用してプログラムをコンパイルします。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.