日本-日本語

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

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 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
デバッガ説明書


目次 索引


 
DBG> ex %fpsr 
LOOPER\main\%FPSR: 
        I U O Z D V TD RC PC WRE FTZ 
    SF3 0 0 0 0 0 0  1  0  3   0   0 
    SF2 0 0 0 0 0 0  1  0  3   0   0 
    SF1 0 0 0 0 0 0  1  0  3   1   0 
    SF0 0 0 0 0 0 0  0  0  3   0   0 
    TRAPS ID UD OD ZD DD VD 
           1  1  1  1  1  1 
DBG> 
 


この書式付けを,任意の位置で強制することもできます (EXAMINE/FPSR を参照)。

  • 以前のファンクション状態 (%PFS) レジスタ,現在のフレーム・マーカ (%CFM) レジスタ,割り込みファンクション状態 (%IFS) レジスタ,前々回のファンクション状態 (%NEXT_PFS) レジスタについての詳細は,『Intel IA-64 アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル第 1 巻』を参照してください。例を次に示します。


     
    DBG> ex %pfs 
    LOOPER\main\%PFS: 
        PPL PEC SOF SOL SOR RRB_GR RRB_FR RRB_PR 
          3   0  29  21   0      0      0      0 
    DBG> ex %cfm 
    LOOPER\main\%CFM: 
        SOF SOL SOR RRB_GR RRB_FR RRB_PR 
          6   5   0      0      0      0 
    DBG> ex %ifs 
    LOOPER\main\%IFS: 
        SOF SOL SOR RRB_GR RRB_FR RRB_PR 
          6   5   0      0      0      0 
    DBG> ex %next_pfs 
    LOOPER\main\%NEXT_PFS: 
        PPL PEC SOF SOL SOR RRB_GR RRB_FR RRB_PR 
          3   0   6   5   0      0      0      0 
    DBG> 
     
     
    


    EXAMINE/PFS と EXAMINE/CFM も参照してください。

  • プロセッサ・ステータス・レジスタ (%PSR) についての詳細は,『Intel IA-64 アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル第 2 巻』を参照してください。例を次に示します。


     
    DBG> ex %psr 
    LOOPER\main\%PSR: 
        IA BN ED RI SS DD DA ID IT MC IS CPL RT TB LP DB SI DI PP SP DFH DFL 
         0  1  0  0  0  0  0  0  1  0  0   3  1  0  0  0  0  1  0  0   0   0 
        DT PK  I IC MFH MFL AC UP BE 
         1  0  1  1   1   1  0  0  0 
    DBG> 
     
    


    EXAMINE/PSR も参照してください。

  • デバッガは,%GRNAT0 レジスタ,%GRANT1 レジスタ,および %PR レジスタに対して,省略時はビット・ベクタ・フォーマットを使用します。例を次に示します。


     
    DBG> ex %grnat0,%pr 
    LOOPER\main\%GRNAT0: 
    11111111 11111111 11111111 11000000 00000000 00000000 00000000 00000000 
    LOOPER\main\%PR:     
    00000000 00000000 00000000 00000000 11111111 01010110 10010110 10100011 
    DBG> 
     
    

  • デバッガは,%p0 〜 %p63 レジスタに対して,省略時は 1 ビット・フォーマットを使用します。例を次に示します。


     
    DBG> ex %p6,%p7 
    LOOPER\main\%P6:        0 
    LOOPER\main\%P7:        1 
    DBG> 
     
    



    4.5 検査と格納を行う場合の型の指定

    ここまでの節では,シンボリック名を持ち,したがってコンパイラ生成型に対応しているプログラム記憶位置を EXAMINE コマンドと DEPOSIT コマンドで使用する方法を説明しました。

    第 4.5.1 項 では,シンボリック名を持たないプログラム記憶位置用にデバッガがデータを編集 ( 型指定 ) する方法と,それらの記憶位置用に型を制御する方法を説明します。

    第 4.5.2 項 では,プログラム記憶位置に対応した型を上書きする方法を,シンボリック名を持つ記憶位置も含めて説明します。

    4.5.1 シンボリック名を持たないプログラム記憶位置に対する型の定義

    シンボリック名を持たず,したがってコンパイラ生成型に対応付けられていないプログラム記憶位置は,省略時の設定ではロングワード整数型を持ちます。この省略時の型を使用してそれらの記憶位置を検査し,それらの記憶位置へ値を格納する方法については, 第 4.1.5 項 を参照してください。

    SET TYPE コマンドを使用すると,省略時の型を変更できます。これは,別の型の記憶位置の内容を検査および表示したい場合や,特定の型の値を別の型に対応付けられた記憶位置へ格納したい場合に役立ちます。 表 4-4 は, SET TYPE コマンドの型のキーワードの一覧です。

    表 4-4 SET TYPE キーワード
    ASCIC D_FLOAT H_FLOAT 1 PACKED
    ASCID DATE_TIME INSTRUCTION QUADWORD
    ASCII: n EXTENDED_FLOAT 2 LONG_FLOAT 2 S_FLOAT 2
    ASCIW F_LOAT LONG_LONG_FLOAT 2 T_FLOAT 2
    ASCIZ FLOAT LONGWORD TYPE=( type-expression)
    BYTE G_FLOAT OCTAWORD WORD
          X_FLOAT 2

    1VAX 固有
    2I64 および Alpha 固有

    たとえば,次のコマンドはシンボリック名を持たない記憶位置の型をバイト整数型,G 浮動小数点数型,6 バイトの ASCII データからなる ASCII 型にそれぞれ設定します。一連のSET TYPE コマンドは型を再設定します。


    DBG> SET TYPE BYTE
    DBG> SET TYPE G_FLOAT
    DBG> SET TYPE ASCII:6
    

    SET TYPE コマンドは,/OVERRIDE 修飾子を指定せずに使用した場合,シンボリック名を持つプログラム記憶位置 ( コンパイラ生成型に対応付けられた記憶位置 ) の型には影響を及ぼさないので注意してください。

    SHOW TYPE コマンドは,シンボリック名を持たない記憶位置の現在の型を表示します。そのような記憶位置の省略時の型を復元するには, SET TYPE LONGWORD コマンドを入力します。

    4.5.2 現在の型の上書き

    SET TYPE/OVERRIDE コマンドを使用すれば,任意のプログラム記憶位置に対応した型を上書きでき,その結果どのようなコンパイラ生成型でも変更できます。たとえば,次のコマンドの実行後に EXAMINE コマンドを無修飾で実行した場合,指定した記憶位置の最初のバイトの内容だけが表示され,その内容はバイト整数データとして解釈されます。無修飾の DEPOSIT コマンドを実行した場合は,指定した記憶位置の最初のバイトだけが変更され,格納するデータはバイト整数データとして編集されます。


    DBG> SET TYPE/OVERRIDE BYTE
    

    SET TYPE/OVERRIDE コマンドに対して指定できる型キーワードについては, 表 4-4 を参照してください。

    現在の上書き型を表示するには,SHOW TYPE/OVERRIDE コマンドを入力します。現在の上書き型を取り消して,シンボリック名を持つ記憶位置の通常の解釈へ戻すには,CANCEL TYPE/OVERRIDE コマンドを入力します。

    EXAMINE コマンドと DEPOSIT コマンドには,EXAMINE コマンドまたは DEPOSIT コマンドの実行中に,プログラムの記憶位置に現在割り当てられている型を無効にするための修飾子があります。これらの修飾子は,コンパイラで生成された型だけでなく,SET TYPE または SET TYPE/OVERRIDE コマンドも無効にします。各コマンドで使用できる型修飾子については, DEPOSIT コマンドと EXAMINE コマンドを参照してください。

    型修飾子を指定して EXAMINE コマンドを使用した場合,アドレス式で指定した要素がその型で表示されます。次に例を示します。


    DBG> EXAMINE/BYTE .           ! 型はバイト整数である。
    MOD3\%LINE 15 :  -48
    DBG> EXAMINE/WORD .           ! 型はワード整数である。
    MOD3\%LINE 15 :  464
    DBG> EXAMINE/LONG .           ! 型はロングワード整数である。
    MOD3\%LINE 15 :  749404624
    DBG> EXAMINE/QUAD .           ! 型はクォドワード整数である。
    MOD3%LINE 15 :  +0130653502894178768
    DBG> EXAMINE/FLOAT .          ! 型は F 浮動小数点数である。
    MOD3%LINE 15 :   1.9117807E-38
    DBG> EXAMINE/G_FLOAT .        ! 型は G 浮動小数点数である。
    MOD3%LINE 15 :   1.509506018605227E-300
    DBG> EXAMINE/ASCII .          ! 型は ASCII 文字列である。
    MOD3\%LINE 15 :  ".."
    DBG>
    

    型修飾子を指定して DEPOSIT コマンドを使用した場合,アドレス式で指定した記憶位置へその型の値が格納され,そのアドレス式に対応する型が上書きされます。

    残りの項では,型修飾子と SET TYPE コマンドを使用して整数型,文字列型,およびユーザ宣言型を指定する例を示します。

    次の例は,整数型修飾子 (/BYTE,/WORD,/LONGWORD) を指定した EXAMINE コマンドと DEPOSIT コマンドの使用例です。これらの型修飾子を使用すれば,特定の整数型の値を任意のプログラム記憶位置へ格納することができます。


    DBG> SHOW TYPE           ! コンパイラ生成型を持たない
    type:  long integer      ! 記憶位置の型を表示する。
    DBG> EVALU/ADDR .        ! 現在の記憶位置は 724 である。
    724
    DBG> DEPO/BYTE . = 1     ! 値 1 をアドレス 724 の 1 バイトの 
                             ! メモリへ格納する。
    DBG> EXAM .              ! 省略時の設定では 4 バイトが検査される。
    724:  1280461057
    DBG> EXAM/BYTE .         ! 1 バイトだけを検査する。
    724:  1
    DBG> DEPO/WORD . = 2     ! 値 2 を現在の値の最初の 
                             ! 2 バイト (ワード) へ格納する。
    DBG> EXAM/WORD .         ! 現在の値の 1 ワードを検査する。
    724:  2
    DBG> DEPO/LONG 724 = 999 ! 値 999 をアドレス 724 から始まる 4 バイト
                             !(ロングワード) へ格納する。
    DBG> EXAM/LONG 724       ! アドレス 724 から始まる 4 バイト
    724:  999                ! (ロングワード) を検査する。
    DBG>
    



    次の例は,/ASCII:n 型修飾子を指定した EXAMINE コマンドと DEPOSIT コマンドの使用例です。

    この修飾子を DEPOSIT コマンドで使用すると,長さ n の ASCII 文字列を任意のプログラム記憶位置に格納することができます。この例では,記憶位置はシンボリック名 (I) を持っており,したがってコンパイラ生成型に対応付けられています。コマンドの形式は次のとおりです。


    DEPOSIT/ASCII:n address-expression = "ASCII string of length n" 
    

    n の省略時の値は 4 バイトです。


    DBG> DEPOSIT I = "abcde"    ! I はコンパイラ生成の整数型を持つ。 
    %DEBUG-W-INVNUMBER, invalid numeric string 'abcde'
                                ! したがって,I には文字列を格納できない。
    DBG> DEP/ASCII:5 I = "abcde"! /ASCII 修飾子によって整数型を上書きし, 
                                ! 5 バイトの ASCII データを格納
                                ! できるようにする。
    DBG> EXAMINE .              ! I の値をコンパイラ生成の整数型で 
     
    MOD3\I:  1146048327         ! 表示する。
    DBG> EXAM/ASCII:5 .         ! I の値を 5 バイトの ASCII 文字列として 
    MOD3\I:  "abcde"            ! 表示する。 
    DBG>
    

    複数の DEPOSIT/ASCII コマンドを入力する場合は,SET TYPE/OVERRIDE コマンドを使用して上書き ASCII 型を設定できます。その場合,それ以後の EXAMINE コマンドと DEPOSIT コマンドは /ASCII 修飾子を指定したのと同じ効果を持ちます。次に例を示します。


    DBG> SET TYPE/OVER ASCII:5! ASCII:5 を上書き型として設定する。 
    DBG> DEPOSIT I = "abcde"  !     I に 5 バイトの文字列を格納できるようになる。 
    DBG> EXAMINE I            !     I の値を 5 バイトの 
    MOD3\I:  "abcde"     ! ASCII 文字列として表示する。 
    DBG> CANCEL TYPE/OVERRIDE ! ASCII 上書き型を取り消す。 
    DBG> EXAMINE I            !     I をコンパイラ生成型で表示する。 
    MOD3\I:  1146048327
    DBG>
    



    次の例は,/TYPE=(name) 修飾子を指定した EXAMINE コマンドと DEPOSIT コマンドの使用例です。この修飾子を使用すれば,検査または格納を行う際にユーザ宣言上書き型を指定できます。

    たとえば,Pascal プログラムに次のコードが入っているとします。このコードは 3 つの値 RED,GREEN,および BLUE を持つ列挙型 COLOR を宣言します。


       .
       .
       .
    TYPE 
        COLOR = (RED,GREEN,BLUE); 
       .
       .
       .
    

    デバッグ・セッションの間,次のように SHOW SYMBOL/TYPE コマンドはデバッガが認識しているとおりに型 COLOR を示します。


    DBG> SHOW SYMBOL/TYPE COLOR
    data MOD3\COLOR 
        enumeration type (COLOR, 3 elements), size: 1 byte
    DBG>
    

    次のコマンドはアドレス 1000 の値を表示します。この値はシンボリック名に対応付けられていません。したがって,省略時の設定では値 0 がロングワード整数型として表示されます。


    DBG> EXAMINE 1000
    1000:   0
    DBG>
    

    次のコマンドはアドレス 1000 の値を型 COLOR で表示します。前の SHOW SYMBOL/TYPE コマンドで,それぞれの列挙要素が 1 バイトに格納されていることが示されています。したがって,デバッガはアドレス 1000 にあるロングワード整数値 0 の最初のバイトを,それに相当する列挙値 RED ( 3 つの列挙値の最初のもの ) に変換します。


    DBG> EXAMINE/TYPE=(COLOR) 1000
    1000:   RED
    DBG>
    

    次の DEPOSIT コマンドは,上書き型 COLOR を持つアドレス 1000 に値 GREEN を格納します。EXAMINE コマンドは,アドレス 1000 の値を省略時の型であるロングワード整数で表示します。


    DBG> DEPOSIT/TYPE=(COLOR) 1000 = GREEN
    DBG> EXAMINE 1000
    1000:   1
    DBG>
    

    次の SET TYPE コマンドは,シンボリック名を持たないアドレス 1000 のような記憶位置に対して型 COLOR を設定します。EXAMINE コマンドは, 1000 にある値を型 COLOR で表示するようになります。


    DBG> SET TYPE TYPE=(COLOR)
    DBG> EXAMINE 1000
    1000:   GREEN
    DBG>
    


    目次 索引

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