前へ | 次へ | 目次 | 索引 |
シンボリック名がない(および,そのために関連したコンパイラ生成型を持たない)プログラム記憶位置に関連した省略時の型を設定します。/OVERRIDE とともに使用すると,すべての記憶位置に関連した省略時の型を設定し,コンパイラ生成型を上書きします。
SET TYPE type-keyword
type-keyword
設定する省略時の型を指定します。次のいずれかのキーワードを指定できます。
ASCIC 1 バイトのカウント・フィールドに続く,このカウント・フィールドにより長さを指定された ASCII 文字列を省略時の型と設定します。AC と入力することもできます。 ASCID 省略時の型を ASCII 文字列ディスクリプタに設定します。ディスクリプタの CLASS フィールドと DTYPE フィールドはチェックされません。LENGTH フィールドと POINTER フィールドは ASCII 文字の文字長さとアドレスを示します。次に文字列が表示されます。AD と入力することもできます。 ASCII: n 省略時の型を ASCII 文字列(長さ n バイト)に設定します。この長さは,調べるメモリのバイト数と,表示する ASCII 文字数の両方を示します。 n の値を指定しないと,デバッガは省略時の値 4 バイトを使用します。 nの値は 10 進形式の基数で解釈されます。 ASCIW 2 バイトのカウント・フィールドに続く,このカウント・フィールドにより長さを指定された ASCII 文字列を省略時の型と設定します。このデータ型は PASCAL および PL/I の場合に指定できます。AW と入力することもできます。 ASCIZ 省略時の型を 0 で終了する ASCII 文字列に設定します。最後の 0 のバイトは文字列の終わりを示します。AZ と入力することもできます。 BYTE 省略時の型をバイト整数(1 バイト長)に設定します。 D_FLOAT 省略時の型を D 浮動小数点数(8 バイト長)に設定します。 DATE_TIME 省略時の型を日時に設定します。これはクォドワード整数(8 バイト長)であり,日時の内部表現を含んでいます。値は, dd-mmm-yyyy hh:mm:ss.cc の形式で表示されます。絶対日時は,次のように指定します。 [dd-mmm-yyyy[:]] [hh:mm:ss.cc]
EXTENDED_FLOAT (Alpha のみ)省略時の型を IFEE の X 浮動小数点(16 バイト長)に設定します。 FLOAT VAX プロセッサの場合,省略時の型を IFEE の F 浮動小数点数(4 バイト長)に設定します。 Alpha プロセッサの場合は,省略時の型を IFEE の T 浮動小数点数(8 バイト長)に設定します。
G_FLOAT 省略時の型を G 浮動小数点数(8 バイト長)に設定します。 H_FLOAT (VAX のみ)省略時の型を H 浮動小数点数(16 バイト長)に設定します。 INSTRUCTION 省略時の型を命令(可変長,使用する命令オペランドの数とアドレッシング・モードの種類によって異なります)に設定します。 LONG_FLOAT (Alpha のみ)省略時の型を IEEE S 浮動小数点数(単精度,4 バイト長)に設定します。 LONG_LONG_FLOAT (Alpha のみ)省略時の型を IEEE T 浮動小数点数(倍精度,8 バイト長)に設定します。 LONGWORD 省略時の型をロングワード整数(4 バイト長)に設定します。これは,シンボリック名がない(コンパイラ生成型を持たない)プログラム記憶位置の省略時の型です。 OCTAWORD 省略時の型をオクタワード整数(16 バイト長)に設定します。 PACKED: n 省略時の型をパック 10 進数に設定します。 n の値は 10 進数字です。各桁とも 1 ニブル(4 ビット)を占めます。 QUADWORD 省略時の型をクォドワード整数(8 バイト長)に設定します。これは,64ビットのアプリケーションのデバッグには使用しないでください TYPE=( expression) 省略時の型を expression が示す型(プログラム内で宣言された変数またはデータ型の名前)に設定します。これを指定すると,アプリケーションで宣言した型を指定できます。 S_FLOAT (Alpha のみ)LONG_FLOAT と同じです。 T_FLOAT (Alpha のみ)LONG_LONG_FLOAT と同じです。 WORD 省略時の型をワード整数(2 バイト長)に設定します。 X_FLOAT (Alpha のみ)EXTENDED_FLOAT と同じです。
/OVERRIDE
シンボリック名の有無(関連したコンパイラ生成型の有無)にかかわらず,指定された型をすべてのプログラム記憶位置に関連づけます。
コマンド EXAMINE,DEPOSIT,または EVALUATE を使用すると,アドレス式の省略時の型によって,デバッガがプログラムの値を解釈し表示する方法が異なります。デバッガは,シンボリック・アドレス式(プログラム内で宣言したシンボリック名)に対応したコンパイラ生成型を認識し,これらの記憶位置の内容を解釈して表示します。シンボリック名を持たない(したがって関連したコンパイラ生成型を持たない)プログラム記憶位置の場合,省略時の型はどの言語でもロングワード整数で,32ビトのアプリケーションのデバッグにも使用できます。
Alpha システムでは,64 ビット・アドレス空間を使用するアプリケーションをデバッグするには,SET TYPE QUADWORD コマンドを使用してください。
SET TYPE コマンドを使用すると,シンボリック名を持たない記憶位置の省略時の型を変更できます。また,SET TYPE/OVERRIDE コマンドを使用すると,シンボリック名の有無にかかわらず すべての プログラム記憶位置の省略時の型を設定できます。
EXAMINE コマンドと DEPOSIT コマンドには,任意の プログラム記憶位置の型を 1 つのコマンドの実行中に上書きできる型修飾子(/ASCII,/BYTE,/G_FLOAT など)があります。
関連コマンド
CANCEL TYPE/OVERRIDE
DEPOSIT
EXAMINE
(SET,SHOW,CANCEL)RADIX
(SET,SHOW,CANCEL)MODE
SHOW TYPE
#1 |
---|
DBG> SET TYPE ASCII:8 |
このコマンドは,未定義のプログラム記憶位置の省略時の型として 8 バイトの ASCII 文字列を設定します。
#2 |
---|
DBG> SET TYPE/OVERRIDE LONGWORD |
このコマンドは,未定義のプログラム記憶位置とコンパイラ生成型を持つプログラム記憶位置の両方の省略時の型としてロングワード整数を設定します。
#3 |
---|
DBG> SET TYPE D_FLOAT |
このコマンドは,未定義のプログラム記憶位置の省略時の型として D 浮動小数点数を指定します。
#4 |
---|
DBG> SET TYPE TYPE=(S_ARRAY) |
このコマンドは,未定義のプログラム記憶位置の省略時の型として S_ARRAY 変数を設定します。
デバッガ・ベクタ・モード・オプションを許可したり,禁止したりできます。VAX ベクタ化されたプログラムにのみ適用されます。
SET VECTOR_MODE vector-mode-option
vector-mode-option
ベクタ・モード・オプションを指定します。次のいずれかのキーワードを指定できます。
SYNCHRONIZED ベクタ命令が実行されたら必ずスカラ型プロセッサとベクタ型プロセッサをデバッガが自動的に同期化することを指定します。具体的には,デバッガはベクタ命令を実行するたびにそのあとで SYNC 命令を実行し,メモリにアクセスするベクタ命令を実行するたびにそのあとで MSYNC 命令を実行します。この結果,同期化されるベクタ命令に関連したすべての処理が終了します。
- ベクタ命令によって生じた例外は,次のスカラ命令が実行される前に実行が要求されます。保留中の例外の実行を要求すると,例外ブレークポイントまたは例外トレースポイント(設定されている場合)が検出されるか,例外ハンドラ(プログラム内のその記憶位置で使用できる場合)が起動されます。
- ベクタ・レジスタと,汎用レジスタまたはメモリ間の読み込み操作と書き込み操作は,次のスカラ命令が実行される前に完了します。
SET VECTOR_MODE SYNCHRONIZED コマンドを実行すると,SYNC コマンドや MSYNC コマンドがすぐに実行されるわけではありません。すぐに同期化するには,SYNCHRONIZE VECTOR_MODE コマンドを使用します。
NOSYNCHRONIZED 省略時の設定。デバッガの内部的目的以外では,スカラ型プロセッサとベクタ型プロセッサ間の同期化をデバッガが強制しないよう指定します。その結果,同期化がプログラムによって完全に制御され,プログラムはデバッガの制御下にないかのように実行されます。
ベクタ・モード・オプションは,デバッガがベクタ型プロセッサと対話する方法を制御します。SET VECTOR_MODE コマンドについて詳しくは,パラメータの説明を参照してください。関連コマンド
(SHOW,SYNCHRONIZE)VECTOR_MODE
#1 |
---|
DBG> SET VECTOR_MODE SYNCHRONIZED |
このコマンドを使用すると,ベクタ命令が実行されるたびに,そのあとでデバッガがスカラ型プロセッサとベクタ型プロセッサ間を同期化させます。
#2 |
---|
DBG> SHOW VECTOR_MODE Vector mode is nonsynchronized DBG> SET VECTOR_MODE SYNCHRONIZED (1) DBG> SHOW VECTOR_MODE Vector mode is synchronized DBG> STEP (2) stepped to .MAIN.\SUB\%LINE 99 99: VVDIVD V1,V0,V2 DBG> STEP (3) %SYSTEM-F-VARITH, vector arithmetic fault, summary=00000002, mask=00000004, PC=000002E1, PSL=03C00010 break on unhandled exception preceding .MAIN.\SUB\%LINE 100 100: CLRL R0 DBG> |
次の番号は上の例の番号に対応しています。
(SHOW,SYNCHRONIZE)VECTOR_MODE
- SET VECTOR_MODE SYNCHRONIZED コマンドは,ベクタ命令が実行されるたびに,デバッガにスカラ型プロセッサとベクタ型プロセッサ間を自動的に同期化させます。
- この STEP コマンドは,VVDIVD 命令を実行する直前の行 99 でプログラムの実行を中断します。この例では,この命令が浮動小数点ゼロ除算例外を発生すると想定しています。
- この STEP コマンドは VVDIVD 命令を実行し,この命令が例外を発生させます。ベクタ例外は,デバッガが同期化ベクタ・モードで動作中であるために,すぐに実行が要求されます。
アドレス式で示された記憶位置にウォッチポイントを設定します。
SET WATCH address-expression[,...]
[WHEN(conditional-expression)]
[DO(command[;...])]
address-expression
ウォッチポイントを設定するアドレス式(プログラム記憶位置)を指定します。高級言語の場合,これはたいていはプログラム変数です。変数を一意に指定するパス名をいれることができます。また,アドレス式はメモリ・アドレスまたはレジスタの場合もあります。数字(オフセット)とシンボルで構成したり,1 つまたは複数の演算子,オペランド,または区切り文字で構成したりできます。アドレス式で使用できる演算子についての詳しい説明は,HELP Address_Expressionsをタイプしてください。ワイルドカード文字のアスタリスク(*)は使用できません。
conditional-expression
現在設定されている言語で条件式を指定します。この式は実行がウォッチポイントに達したときに評価されます。デバッガは,実行がウォッチポイントに達すると,WHEN 句にある式の構文をチェックします。式が真であれば,デバッガはウォッチポイントが発生したことを報告します。ブレーク・アクション(DO 句)がブレークポイントと関連付けられている場合は,同時に発生します。式が偽の場合は報告されません。また,DO 句(指定されている場合)によって指定されたコマンドは実行されず,プログラム実行が続行されます。command
ウォッチ・アクションが実行されたときに,実行するデバッガ・コマンドを DO 句の一部として指定します。デバッガは,ウォッチポイントが設定されたときではなく,DO 句を実行したときに,DO 句にある式の構文をチェックします。
/AFTER:n
指定されたウォッチポイントが n 回(n は10 進整数)検出されるまで,ウォッチ・アクションを実行しないことを指定します。それ以降は,WHEN 句の条件(指定された場合)が真ならば,検出されるたびにウォッチポイントが発生します。SET WATCH/AFTER:1 コマンドは,SET WATCH と同じです。/INTO
定義ルーチン内だけでなく定義ルーチンから呼び出されたルーチン内(およびそのようにネストしたそれ以外の呼び出しから呼び出されたルーチン内)の命令もトレースすることにより,非静的変数をデバッガがモニタするよう指定します。SET WATCH/INTO コマンドを使用すると,呼び出されたルーチン内の非静的変数を SET WATCH/OVER を使用したときよりも正確にモニタできます。ただし,呼び出されたルーチンにおける実行速度は SET WATCH/OVER の方が速くなります。/OVER
定義ルーチンが呼び出すルーチン内でなく定義ルーチン内だけで命令のトレースを行うことによって,非静的変数のモニタをデバッガが行うよう指定します。その結果,デバッガは呼び出されたルーチンを通常の速度でモニタし,定義ルーチンに実行が戻ったときだけ命令のトレースを再開します。SET WATCH/OVER コマンドは SET WATCH/INTO より実行速度が速くなります。しかし,呼び出されたルーチンがウォッチされる変数を変更すると定義ルーチンに戻ったときだけ実行が割り込まれます。非静的変数にウォッチポイントを設定する場合,SET WATCH/OVER が省略時の設定です。/SILENT
/NOSILENT(省略時の設定)
"watch..." メッセージと,現在の記憶位置のソース行をウォッチポイントで表示するかどうかを制御します。/NOSILENT 修飾子を指定すると,メッセージが表示されます。/SILENT 修飾子を指定すると,メッセージとソース行は表示されません。/SILENT 修飾子を指定すると,/SOURCE は上書きされます。/SOURCE(省略時の設定)
/NOSOURCE
現在の記憶位置のソース行をウォッチポイントで表示するかどうかを制御します。/SOURCE 修飾子を指定すると,ソース行が表示されます。/NOSOURCE 修飾子を指定すると,ソース行は表示されません。/SILENT 修飾子を指定すると,/SOURCE は上書きされます。SET STEP [NO]SOURCE コマンドも参照してください。/STATIC
/NOSTATIC
指定された変数(ウォッチポイント記憶位置)が静的か非静的かについてのデバッガの省略時の判定を上書きすることができます。/STATIC 修飾子を指定すると,デバッガは変数が P1 空間に割り当てられていても変数を静的変数として扱います。この結果,デバッガは各命令をトレースする代わりに,高速の書き込み保護モードを使用して記憶位置をモニタできます。/NOSTATIC 修飾子を指定すると,デバッガは変数が P0 空間に割り当てられていても変数を非静的変数として扱わなければなりません。このため,デバッガは各命令をトレースして記憶位置をモニタします。したがって,これらの修飾子を使用する場合には,注意が必要です。/TEMPORARY
ウォッチポイントを検出したあとでそのウォッチポイントを消去します(ウォッチポイントを一時的に設定するときに使用します)。
前へ | 次へ | 目次 | 索引 |