日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
この付録では,デバッガのすべての組み込みシンボルと論理名を示します。
B.1 SS$_DEBUG 条件
SS$_DEBUG (SYS$LIBRARY:STARLET.OLB で定義される ) は,プログラムからデバッガを起動するようにシグナル通知する場合の条件です。プログラムから SS$_DEBUG をシグナル通知するのは,Ctrl/Y を押したあとに DCL コマンド DEBUG を入力することと同じです。
コマンドを SS$_DEBUG とともにシグナル通知して,デバッガにコマンドを渡すことができます。デバッガに実行させたいコマンドの形式は, DBG> プロンプトに対して入力するコマンドの形式と同じにしてください。複数のコマンドを指定する場合は,セミコロンで区切らなければなりません。また,コマンドは ASCIC 文字列として参照渡しで渡さなければなりません。 ASCIC 文字列を作成する方法についての詳しい説明は,各言語のドキュメントを参照してください。
たとえば,プログラムのある地点でデバッガを起動して SHOW CALLS コマンドを入力するには,次のコードをプログラムに挿入します ( BLISS の例 )。
LIB$SIGNAL(SS$_DEBUG, 1, UPLIT BYTE(%ASCIC 'SHOW CALLS')); |
SS$_DEBUG の定義は,言語により STARLET ファイルまたは SYSDEF ファイル ( たとえば,BLISS の STARLET.L32,または Fortran の FORSYSDEF.TLB ) からコンパイルするときに得ることができます。また,リンク時に SYS$LIBRARY:STARLET.OLB から SS$_DEBUG の定義を得ることもできますが,この方法はなるべく使用しないでください。
B.2 論理名
デバッガ固有の論理名を次の表に示します。
論理名 | 機能 |
---|---|
DBG$DECW$DISPLAY | HP DECwindows Motif for OpenVMS を実行しているワークステーションにだけ適用される。デバッガ・インタフェース ( HP DECwindows Motif for OpenVMS またはコマンド ) またはディスプレイ装置を指定する。省略時の設定: DBG$DECW$DISPLAY は未定義であるか,またはアプリケーション単位の論理名 DECW$DISPLAY 定義と同じ定義である。
HP DECwindows Motif for OpenVMS 環境でデバッガの省略時のインタフェースを変更するために,DBG$DECW$DISPLAY を使用する方法については, 第 9.8.3 項 を参照。 |
DBG$IMAGE_DSF_PATH | (Alpha および Integrity のみ) デバッグするイメージの .DSF ( デバッグ・シンボル・テーブル ) ファイルを格納するディレクトリを指定する。各 .DSF ファイルのファイル名は,デバッグするイメージのファイル名と同じでなければならない。 .DSF ファイルの作成の詳細については, 第 5.1.5 項 を参照。 |
DBG$INIT | デバッガの初期化ファイルを指定する。省略時の設定では,デバッガの初期化ファイルはない。 DBG$INIT は,検索リストだけでなく,ファイルの完全指定でも部分指定でもよい。デバッガの初期化ファイルについての詳しい説明は, 第 13.2 節 を参照。 |
DBG$INPUT | デバッガの入力装置を指定する。省略時の設定は SYS$INPUT である。DBG$INPUT と DBG$OUTPUT を使用して 2 つの端末で画面用プログラムをデバッグする方法についての詳しい説明は, 第 14.2 節 を参照。
DBG$INPUT は HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは無視される ( DBG$DECW$DISPLAY を参照 )。DECterm ウィンドウでデバッガのコマンド・インタフェースを表示中であれば,DBG$INPUT を使用できる。 |
DBG$OUTPUT | デバッガの出力装置を指定する。省略時の設定は SYS$OUTPUT である。DBG$INPUT と DBG$OUTPUT を使用して 2 つの端末で画面用プログラムをデバッグする方法については, 第 14.2 節 を参照。
HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは DBG$OUTPUT は無視される (DBG$DECW$DISPLAY を参照)。 DECterm ウィンドウでデバッガのコマンド・インタフェースを表示中であれば, DBG$OUTPUT を使用できる。 |
SSI$AUTO_ACTIVATE | ( Alpha のみ ) システム・サービス・インターセプション (SSI) が有効であるかどうか指定する。ウォッチポイントで問題がある場合は,次の DCL コマンドを入力し,SSI を無効にする。
$DEFINE SSI$AUTO_ACTIVATE OFF静的ウォッチポイント,AST,システム・サービス・インターセプションの相互関係については,SET WATCH の説明を参照。 |
論理名に値を割り当てるには,DCL コマンド DEFINE または ASSIGN を使用します。たとえば,次のコマンドは,デバッガの初期化ファイルの記憶位置を指定します。
$ DEFINE DBG$INIT DISK$:[JONES.COMFILES]DEBUGINIT.COM |
論理名 DBG$INPUT については,次の点に注意してください。ファイル ( たとえば PROG_IN.DAT ) から入力を得るプログラムおよび,端末からデバッガ入力を得るプログラムをデバッグする場合は,次のように定義してから,デバッガを起動しなければなりません。
$ DEFINE SYS$INPUT PROG_IN.DAT $ DEFINE/PROCESS DBG$INPUT 'F$LOGICAL("SYS$COMMAND") |
すなわち,SYS$COMMAND の変換を指すように DBG$INPUT を定義します。 SYS$COMMAND を指すように DBG$INPUT を定義すると,デバッガは PROG_IN.DAT ファイルから入力を得ようとします。
B.3 組み込みシンボル
デバッガの組み込みシンボルは,プログラムの要素と値を指定するオプションです。
デバッガのほとんどの組み込みシンボルには,パーセント記号接頭辞 (%) があります。
この付録では,次のシンボルについて説明します。
VAX レジスタ,Alpha レジスタ,または Integrity レジスタのデバッガ組み込みシンボルは,レジスタ名の前にパーセント記号 (%) がついたものです。レジスタ・シンボルを指定する場合,同じ名前のシンボルをプログラムが宣言していなければパーセント記号 (%) を前につける必要はありません。
すべてのレジスタの内容を検査できます。また,SP を除くすべてのレジスタに値を格納することもできます。ただし,FP に値を格納するときは注意してください。
表 B-1 に Alpha レジスタ・シンボルを示します。
シンボル | 機能 |
---|---|
Alpha 整数レジスタ | |
%R0...%R28 | レジスタ R0...R28 |
%FP (%R29) | スタック・フレーム基底レジスタ (FP) |
%SP (%R30) | スタック・ポインタ (SP) |
%R31 | ReadAsZero/Sink (RZ) |
%PC | プログラム・カウンタ (PC) |
%PS | プロセッサ・ステータス・レジスタ (PS)。組み込みシンボル %PSL と %PSW は Alpha プロセッサでは使用できない。 |
Alpha 浮動小数点レジスタ | |
%F0...%F30 | レジスタ F0...F30 |
%F31 | ReadAsZero/Sink |
デバッガには,画面モードのレジスタ表示は用意されていません。
Alpha プロセッサの場合
Alpha 汎用レジスタについての詳しい説明は, 第 4.4 節 と 第 4.4.1 項 を参照してください。
表 B-2 に,Integrity レジスタのシンボルを示します。
シンボル | 説明 |
---|---|
Integrity アプリケーション・レジスタ | |
%KR0...%KR7 | カーネル・レジスタ 0...7 |
%RSC (%AR16) | レジスタ・スタック・コンフィギュレーション |
%BSP (%AR17) | バッキング・ストア・ポインタ |
%BSPSTORE (%AR18) | メモリ・ストア用バッキング・ストア・ポインタ |
%RNAT (%AR19) | RSE NaT コレクション |
%CCV ($AR32) | 比較交換での比較値 |
%UNAT (%AR36) | ユーザ NaT コレクション |
%FPSR (%AR40) | 浮動小数点ステータス |
%PFS (%AR64) | 以前のファンクション状態 |
%LC (%AR65) | ループ・カウント |
%EC (%AR66) | エピローグ・カウント |
%CSD | コード・セグメント |
%SSD | スタック・セグメント |
コントロール・レジスタ | |
%DCR (%CR0) | デフォルト・コントロール |
%ITM (%CR1) | インターバル・タイマ・マッチ (SCD でのみ参照可能) |
%IVA (%CR2) | 割り込みベクタ・アドレス (SCD でのみ参照可能) |
%PTA (%CR8) | ページ・テーブル・アドレス (SCD でのみ参照可能) |
%PSR (%CR9, %ISPR) | 割り込みプロセッサ・ステータス |
%ISR (%CR17) | 割り込みステータス |
%IIP (%CR19) | 割り込み命令ポインタ |
%IFA (%CR20) | 割り込みフォルト・アドレス |
%ITIR (%CR21) | 割り込み TLB 挿入 |
%IIPA (%CR22) | 割り込み命令前アドレス |
%IFS (%CR23) | 割り込みファンクション状態 |
%IIM (%CR24) | 割り込み即値 |
%IHA (%CR25) | 割り込みハッシュ・アドレス |
%LID (%CR64) | ローカル割り込み ID (SCDでのみ参照可能) |
%TPR (%CR66) | タスク・プライオリティ (SCDでのみ参照可能) |
%IRR0...%IRR3 (%CR68...%CR71) | 外部割り込み要求 0...3 (SCDでのみ参照可能) |
%ITV (%CR72) | インターバル・タイマ (SCDでのみ参照可能) |
%PMV (%CR73) | パフォーマンス監視 (SCDでのみ参照可能) |
%CMCV (%CR74) | 訂正済みマシン・チェック・ベクタ (SCDでのみ参照可能) |
%IRR0 および %IRR1 (%CR80 および %CR81) | ローカル・リダイレクション 0:1 (SCDでのみ参照可能) |
特殊レジスタ | |
%IH (%SR0) | インボケーション・ハンドル |
%PREV_BSP | 以前のバッキング・ストア・ポインタ |
%PC (%IP) | プログラム・カウンタ (命令ポインタ | スロット番号) |
%RETURN_PC | リターン・プログラム・カウンタ |
%CFM | 現在のフレーム・マーカ |
%NEXT_PFS | 前々回のファンクション状態 |
%PSP | 以前のスタック・ポインタ |
%CHFCTX_ADDR | コンディション・ハンドリング・ファシリティ・コンテキスト・アドレス |
%OSSD | オペレーティング・システム固有データ |
%HANDLER_FV | ハンドラ・ファンクション値 |
%LSDA | 言語固有データ領域 |
%UM | ユーザ・マスク |
プレディケート・レジスタ | |
%PR (%PRED) | プレディケート・コレクション・レジスタ---%P0...%P63 の集まり |
%P0...%P63 | プレディケート (1 ビット) レジスタ 0...63 |
分岐レジスタ | |
%RP (%B0) | リターン・ポインタ |
%B1...%B7 | 分岐レジスタ 1...7 |
汎用整数レジスタ | |
%R0 | 汎用整数レジスタ 0 |
%GP (%R1) | グローバル・データ・ポインタ |
%R2...%R11 | 汎用整数レジスタ 2...11 |
%SP (%R12) | スタック・ポインタ |
%TP (%R13) | スレッド・ポインタ |
%R14...%R24 | 汎用整数レジスタ 14...24 |
%AP (%R25) | 引数情報 |
%R26...%R127 | 汎用整数レジスタ 26...127 |
出力レジスタ | |
%OUT0...%OUT7 | 出力レジスタ,実行時別名 (たとえば,フレームが出力レジスタに割り当てられた場合, %OUT0 は,最初に割り当てられた出力レジスタ,たとえば %R38 に対応する)。 |
汎用レジスタ | |
%GRNAT0 および %GRNAT1 | それぞれ 64 ビットの汎用レジスタの NAT (Not A Thing) コレクション・レジスタ。たとえば %GRNAT0<3,1,0> は,%R3 の NAT ビット。 |
浮動小数点レジスタ | |
%F0...%F127 | 浮動小数点レジスタ 0...127 |
Integrity レジスタについての詳細は, 第 4.4 節 および 第 4.4.2 項 を参照してください。
目次 | 索引 |
|