前へ | 次へ | 目次 | 索引 |
キーボードで会話形式でコマンドを入力するとき,すべてのデバッガ・キーワード群にわたって固有であるために最低必要な文字数までキーワード(動詞,修飾子,パラメータ)を短縮できます。ただし,よく使用されるコマンドのいくつか(たとえば EXAMINE,DEPOSIT,GO,STEP)は最初の文字だけに短縮できます。また,固有でない短縮形でもデバッガが状況に基づいて正しく解釈できる場合もあります。
Return キーを押すと,現在の行が終了し,デバッガはその行を処理します。長いコマンド文字列を次の行に続けるには,Return キーを押す前にハイフン(-)を入力します。こうすると,デバッガ・プロンプトにはアンダスコア文字(_DBG>)が接頭辞として付き,まだコマンド文字列の入力中であることを示します。
各コマンド文字列をセミコロン(;)で区切ることにより,1 行に複数のコマンド文字列を入力できます。
コメント(デバッガ・ログ・ファイルには記録されているが,その他の点ではデバッガから無視される説明文)を入力するには,入力するコメント・テキストの前に感嘆符(!)を入れます。コメントが次の行に続く場合には,新しい行を感嘆符で始めてください。
DCL プロンプト($)が表示された状態で使用できるコマンド行編集機能は,上向き矢印キーと下向き矢印キーによるコマンドの再呼び出しも含めて,デバッガ・プロンプト(DBG>)が表示された状態でも使用できます。たとえば,左向き矢印キーを押すとカーソルが左に 1 文字移動し,右向き矢印キーを押すと右に 1 文字移動します。Ctrl/H を押すとカーソルは行頭に移動し,Ctrl/E を押すと行末に移動します。Ctrl/U を押すと,カーソルの左側にある文字がすべて削除されます。
デバッガで処理中のコマンドに割り込みをかけるには,Ctrl/C を押します。Ctrl/C コマンドを参照してください。
1.1.3 コマンド・プロシージャでのコマンド入力
コマンドを読みやすくするために,コマンド・プロシージャの中ではコマンド・キーワードを短縮しないでください。将来のリリースでの潜在的な矛盾を避けるために,コマンド・キーワードを(否定の /NO... を数えずに)有意文字 3 文字以下に短縮しないでください。
デバッガ・コマンド行は左マージンから始めます。(DCL コマンド・プロシージャを記述するときのように,ドル記号($)でコマンド行を始めないでください。)
新しい行を開始すると以前のコマンド行が終結します(ファイルの終端文字によっても以前のコマンド行は終結します)。コマンド文字列を次の行に続けるには,新しい行を開始する前にハイフン(-)を入力してください。
セミコロン(;)で各コマンド文字列を区切ることにより,1 行に複数のコマンド文字列を入力できます。
コメント(コマンド・プロシージャの実行には影響しない説明文)を入力するには,入力するコメント・テキストの前に感嘆符(!)を入れます。コメントが次の行に続く場合には,新しい行を感嘆符で始めてください。
1.2 デバッガの Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用不可能なコマンド
次のコマンドは,デバッガへの Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。このうちの多くはコマンド・インタフェースの画面モードにだけ関係があります。
ATTACH | SELECT |
CANCEL MODE | (SET,SHOW)ABORT_KEY |
CANCEL WINDOW | (SET,SHOW)KEY |
DEFINE/KEY | (SET,SHOW)MARGINS |
DELETE/KEY | SET MODE [NO]KEYPAD |
DISPLAY | SET MODE [NO]SCREEN |
EXAMINE/SOURCE | SET MODE [NO]SCROLL |
EXPAND | SET OUTPUT [NO]TERMINAL |
EXTRACT | (SET,SHOW)TERMINAL |
HELP1 | (SET,SHOW)WINDOW |
MOVE | (SHOW,CANCEL)DISPLAY |
SAVE | SHOW SELECT |
SCROLL | SPAWN |
コマンド・プロンプトに対して上記の使用できないコマンドを入力しようとした場合,またはデバッガが上記のコマンドのうちのどれか 1 つでも含むコマンド・プロシージャを実行すると,デバッガはエラー・メッセージを発行します。
MONITOR コマンドは Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースでだけ作用します(このコマンドはモニタ・ビューを使用するためです)。
1.3 VWS を実行するワークステーションでだけ認識されるコマンド
次のコマンドは,(Compaq DECwindows Motif ではなく)VWS を実行中のワークステーションでデバッガを使用しているときにだけ認識されます。
1.4 デバッガ診断メッセージ
次の例でデバッガ診断メッセージの要素を示します。
%DEBUG-W-NOSYMBOL, symbol 'X' is not in the symbol table (1) (2) (3) (4) |
識別子を使用すれば,デバッガのオンライン・ヘルプから診断メッセージの説明を(必要ならそのメッセージに対するアクションも)見つけられます。
デバッガ・メッセージについてのオンライン・ヘルプを獲得するには,次のコマンド形式を使用します。
HELP MESSAGES message-identifier |
診断メッセージの重大度として考えられるものは次のとおりです。
S (正常終了)
I (情報)
W (警告)
E (エラー)
F (回復不可能,または重大なエラー)
正常終了メッセージと情報メッセージは,デバッガが要求を実行したことをユーザに通知します。
警告メッセージは,要求の一部しか実行しなかったため結果を調べる必要があるということを通知します。
エラー・メッセージは,デバッガが要求を実行できなかったが,デバッグ・セッションの状態は変更されなかったことを示します。ただし,メッセージ識別子が DBGERR または INTERR だった場合は例外です。これらの識別子は内部デバッガ・エラーを意味するため,その場合には弊社のサポート要員にご連絡ください。
回復不可能なエラー・メッセージは,デバッガが要求を実行できなかったことと,デバッグ・セッションが不確定な状態になって,その状態からユーザが抜け出せないかもしれないということを示します。通常,このエラーが発生するとデバッグ・セッションは終了します。
1.5 デバッガ・コマンド・ディクショナリ
デバッガ・コマンド・ディクショナリはデバッガ・コマンドの 1 つ 1 つを詳しく説明します。コマンドはアルファベット順に並んでいます。各コマンドごとに説明,形式,パラメータ,修飾子,例を示します。ドキュメントの表記法については,本書のまえがきを参照してください。
この章では,アルファベット順にデバッガ・コマンドを説明しています。
デバッガ・コマンド・プロシージャを実行します。
@file-spec [parameter[,...]]
file-spec
実行の対象となるコマンド・プロシージャを指定します。完全ファイル指定の中で指定されていない部分については,デバッガは,最新の SET ATSIGN コマンドで設定されたファイル指定があればそれを使用します。ファイル指定の欠けている部分が SET ATSIGN コマンドで設定されていなかった場合には,デバッガは省略時のファイル指定として SYS$DISK:[]DEBUG.COM を割り当てます。file-spec には論理名を指定できます。parameter
コマンド・プロシージャに渡すパラメータを指定します。パラメータにはアドレス式,現在の言語での値式,デバッガ・コマンドを指定できます。コマンドは二重引用符(")で囲む必要があります。DCL の場合とは異なり,各パラメータはコンマで区切らなくてはなりません。また,コマンド・プロシージャの中にある仮パラメータ宣言と同じ数のパラメータを渡せます。コマンド・プロシージャへのパラメータの引き渡しについての詳しい説明は,DECLARE コマンドを参照してください。
デバッガ・コマンド・プロシージャには,他の実行プロシージャ(@)コマンドを含めたどのデバッガ・コマンドも指定できます。デバッガは EXIT コマンドまたは QUIT コマンドに到達するか,コマンド・プロシージャが終るまで,コマンド・プロシージャのコマンドを実行します。コマンド・プロシージャの実行が終了すると,デバッガはコマンド・プロシージャを起動したコマンド・ストリームに制御を戻します。この場合のコマンド・ストリームとは端末,外側(当該コマンド・プロシージャを含んでいる)のコマンド・プロシージャ,SET BREAK などのコマンド内の DO 句,画面表示定義の中の DO 句などです。省略時の設定では,コマンド・プロシージャから読み込まれたコマンドはエコーバックされません。SET OUTPUT VERIFY コマンドを入力すると,コマンド・プロシージャから読み込まれたコマンドはすべて,DBG$OUTPUT による指定に従い,現在の出力装置にエコーバックされます(省略時の出力装置は SYS$OUTPUT)。
コマンド・プロシージャへのパラメータの引き渡しについての詳しい説明は,DECLARE コマンドを参照してください。
関連コマンド
DECLARE
(SET,SHOW)ATSIGN
SET OUTPUT [NO]VERIFY
SHOW OUTPUT
DBG> SET ATSIGN USER:[JONES.DEBUG].DBG DBG> SET OUTPUT VERIFY DBG> @CHECKOUT %DEBUG-I-VERIFYICF, entering command procedure CHECKOUT SET MODULE/ALL SET BREAK SUB1 GO break at routine PROG5\SUB2 EXAMINE X PROG5\SUB2\X: 376 ... %DEBUG-I-VERIFYICF, exiting command procedure MAIN DBG> |
この例の,SET ATSIGN コマンドは,デバッガ・コマンド・プロシージャが省略時の設定では USER:[JONES.DEBUG] の中にあり,ファイル・タイプとして .DBG を持つように設定しています。@CHECKOUT コマンドはコマンド・プロシージャ USER:[JONES.DEBUG]CHECKOUT.DBG を実行します。SET OUTPUT VERIFY コマンドが指定されているため,デバッガは @CHECKOUT コマンドの中のコマンドをエコーバックします。
以前に無効に設定したブレークポイントを有効にします。
ACTIVATE BREAK [address-expression[,...]]
address-expression
有効にするブレークポイントを指定します。ワイルドカード文字のアスタリスク(*)は使用できません。代わりに /ALL 修飾子を使用してください。/EVENT,/PREDEFINED,/USER 以外の修飾子を使用する場合は,アドレス式は指定できません。
/ACTIVATING
前回の SET BREAK/ACTIVATING コマンドで設定されたブレークポイントを有効にします。/ALL
省略時の設定では,すべてのユーザ定義ブレークポイントを有効にします。/PREDEFINED といっしょに使用すると,定義済みブレークポイントはすべて有効になりますが,ユーザ定義ブレークポイントは有効になりません。すべてのブレークポイントを有効にするには /ALL/USER/PREDEFINED を使用します。/BRANCH
前回の SET BREAK/BRANCH コマンドで設定されたブレークポイントを有効にします。/CALL
前回の SET BREAK/CALL コマンドで設定されたブレークポイントを有効にします。/EVENT=event-name
前回の SET BREAK/EVENT=event-name コマンドで設定されたブレークポイントを有効にします。イベント名(および必要であればアドレス式)は SET BREAK/EVENT コマンドで指定したとおりに指定してください。現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITY コマンドを使用します。
/EXCEPTION
前回の SET BREAK/EXCEPTION コマンドで設定されたブレークポイントを有効にします。/HANDLER
前回の SET BREAK/HANDLER コマンドの作用を取り消します。/INSTRUCTION
前回の SET BREAK/INSTRUCTION コマンドで設定されたブレークポイントを有効にします。/LINE
前回の SET BREAK/LINE コマンドで設定されたブレークポイントを有効にします。この修飾子を指定する場合は,アドレス式は指定できません。/PREDEFINED
ユーザ定義ブレークポイントにはまったく影響を及ぼさずに,指定の定義済みブレークポイントを有効にします。/ALL といっしょに使用すると,定義済みブレークポイントがすべて有効になります。/SYSEMULATE
(Alpha のみ)前回の SET BREAK/SYSEMULATE コマンドによって設定されたブレークポイントを有効にします。/TERMINATING
前回の SET BREAK/TERMINATING コマンドで設定されたブレークポイントを有効にします。/UNALIGNED_DATA
(Alpha のみ)前回の SET BREAK/UNALIGNED_DATA コマンドで設定されたブレークポイントを有効にするか,または DEACTIVATE /UNALIGNED_DATA コマンドにより無効になっていたブレークポイントを再度有効にします。/USER
定義済みブレークポイントにはまったく影響を及ぼさずに指定のユーザ定義ブレークポイントを有効にします。/ALL といっしょに使用すると,すべてのユーザ定義ブレークポイントが有効になります。/VECTOR_INSTRUCTION
(VAX のみ)前回の SET BREAK/VECTOR_INSTRUCTION コマンドで設定されたブレークポイントを有効にします。
ユーザ定義ブレークポイントは SET BREAK コマンドで設定すると有効になります。定義済みブレークポイントは省略時の設定で有効になります。DEACTIVATE BREAK を使用して無効にした 1 つまたは複数のブレークポイントを有効にするには,ACTIVATE BREAK コマンドを使用します。ブレークポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに,ブレークポイントを取り消して再設定する手間をかけずに,ブレークポイントを使用したり使用しなかったりすることができます。省略時の設定で RERUN コマンドを実行すると,すべてのブレークポイントの現在の状態(有効か無効か)が保存されます。
有効や無効にするのはユーザ定義ブレークポイントと定義済みブレークポイントのどちらか一方でも両方でもかまいません。ブレークポイントが有効になっているかを確かめるには,SHOW BREAK コマンドを使用します。
関連コマンド
CANCEL ALL
RERUN
(SET,SHOW,CANCEL,DEACTIVATE)BREAK
(SET,SHOW)EVENT_FACILITY
#1 |
---|
DBG> ACTIVATE BREAK MAIN\LOOP+10 |
このコマンドはアドレス式 MAIN\LOOP+10 で設定されたユーザ定義ブレークポイントを有効にします。
#2 |
---|
DBG> ACTIVATE BREAK/ALL |
このコマンドはすべてのユーザ定義ブレークポイントを有効にします。
#3 |
---|
DBG> ACTIVATE BREAK/ALL/USER/PREDEFINED |
このコマンドはユーザ定義ブレークポイントと定義済みブレークポイントの両方を含めたすべてのブレークポイントを有効にします。
以前に設定したあと無効にしたトレースポイントを有効にします。
ACTIVATE TRACE [address-expression[,...]]
address-expression
有効にするトレースポイントを指定します。ワイルドカード文字のアスタリスク(*)は使用できません。代わりに /ALL 修飾子を使用してください。/EVENT,/PREDEFINED,/USER 以外の修飾子を使用する場合は,アドレス式は指定できません。
/ACTIVATING
前回の SET TRACE/ACTIVATING コマンドで設定されたトレースポイントを有効にします。/ALL
省略時の設定では,すべてのユーザ定義トレースポイントを有効にします。/PREDEFINED といっしょに使用すると,定義済みトレースポイントはすべて有効になりますが,ユーザ定義トレースポイントは有効になりません。すべてのトレースポイントを有効にするには /ALL/USER/PREDEFINED を使用します。/BRANCH
前回の SET TRACE/BRANCH コマンドで設定されたトレースポイントを有効にします。/CALL
前回の SET TRACE/CALL コマンドで設定されたトレースポイントを有効にします。/EVENT=event-name
前回の SET TRACE/EVENT=event-nameコマンドで設定されたトレースポイントを有効にします。イベント名(および必要であればアドレス式)は SET TRACE/EVENT コマンドで指定したとおりに指定してください。現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITY コマンドを使用します。
/EXCEPTION
前回の SET TRACE/EXCEPTION コマンドで設定されたトレースポイントを有効にします。/INSTRUCTION
前回の SET TRACE/INSTRUCTION コマンドで設定されたトレースポイントを有効にします。/LINE
前回の SET TRACE/LINE コマンドで設定されたトレースポイントを有効にします。/PREDEFINED
ユーザ定義トレースポイントにはまったく影響を及ぼさずに指定の定義済みトレースポイントを有効にします。/ALL といっしょに使用すると,定義済みトレースポイントがすべて有効になります。/TERMINATING
前回の SET TRACE/TERMINATING コマンドで設定されたトレースポイントを有効にします。/USER
定義済みトレースポイントにはまったく影響を及ぼさずに指定のユーザ定義トレースポイントを有効にします。/ALL 修飾子を使用すると,ユーザ定義トレースポイントがすべて有効になります。/VECTOR_INSTRUCTION
(VAX のみ)前回の SET TRACE/VECTOR_INSTRUCTION コマンドで設定されたトレースポイントを有効にします。
ユーザ定義トレースポイントは SET TRACE コマンドで設定すると有効になります。定義済みトレースポイントは省略時の設定で有効になります。DEACTIVATE TRACE を使用して無効にした 1 つまたは複数のトレースポイントを有効にするにはACTIVATE TRACE コマンドを使用します。トレースポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに,トレースポイントを取り消して再設定する手間をかけずに,トレースポイントを使用したり使用しなかったりすることができます。省略時の設定で RERUN コマンドを実行すると,すべてのトレースポイントの現在の状態(有効か無効か)が保存されます。
有効や無効にするのはユーザ定義トレースポイントと定義済みトレースポイントのどちらか一方でも両方でもかまいません。トレースポイントが有効になっているかを確かめるには,SHOW TRACE コマンドを使用してください。
関連コマンド
CANCEL ALL
RERUN
(SET,SHOW)EVENT_FACILITY
(SET,SHOW,CANCEL,DEACTIVATE)TRACE
#1 |
---|
DBG> ACTIVATE TRACE MAIN\LOOP+10 |
このコマンドは MAIN\LOOP+10 の位置にあるユーザ定義トレースポイントを有効にします。
#2 |
---|
DBG> ACTIVATE TRACE/ALL |
このコマンドはユーザ定義トレースポイントをすべて有効にします。
前へ | 次へ | 目次 | 索引 |