日本-日本語
日本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
デバッガ説明書


目次 索引

付録 C
各言語に対するデバッガ・サポートの要約

OpenVMS Debugger は,Integrity サーバおよび Alpha システムでさまざまなプログラミング言語をサポートします。

Integrity サーバでは,以下の言語で作成されたプログラムをデバッガで扱うことができます。

Ada 1 Assembler (IAS) BASIC BLISS
C C++ COBOL Fortran
MACRO-32 2 IMACRO Pascal  

1Integrity サーバは AdaCore の GNAT Pro Ada 95 コンパイラをサポートします。
2MACRO-32 は AMACRO コンパイラでコンパイルされていなければなりません。

Alpha システムでは,以下の言語で作成されたプログラムをデバッガで扱うことができます。

HP-Ada BASIC BLISS C
C++ COBOL Fortran MACRO-32 1
MACRO-64 Pascal PL/I  

1MACRO-32 は AMACRO コンパイラでコンパイルされていなければなりません。



デバッガは,各言語の構文,データ型,有効範囲規則を認識します。また,各言語の演算子および式の構文も認識します。したがって,デバッガ・コマンドを使用するときは,変数やその他のプログラム要素をプログラムのソース・コードに記述する場合と同じように指定することができます。また,その言語の構文を使用してソース言語の式の値を計算することもできます。

サポートされている言語のほとんどに共通するデバッグ方法については,マニュアルで説明しています。ヘルプ・トピックには各言語に固有の次の内容が含まれています。

  • サポートされている言語式の演算子

  • サポートされている言語式とアドレス式の構造

  • サポートされているデータ型

  • デバッガのサポートに制約がある場合はそれも含めた,各言語固有のその他の情報

言語固有のデバッガのサポートについての詳しい説明は,各言語とともに提供されるドキュメントを参照してください。

プログラムが複数の言語で記述されている場合,デバッグ・セッションの途中でデバッグ・コンテキストを 1 つの言語から別の言語へ変更することができます。選択する言語に対応したキーワードを指定して, SET LANGUAGE コマンドを使用してください。

Integrity サーバでは,次のキーワードの 1 つを指定することができます。

AMACRO BASIC BLISS C
C++ COBOL Fortran PASCAL
UNKNOWN      

Alpha システムでは,次のキーワードの 1 つを指定することができます。

ADA AMACRO BASIC BLISS
C C++ COBOL FORTRAN
MACRO MACRO64 PASCAL UNKNOWN

サポートされていない言語で記述されたプログラムをデバッグするときは, SET LANGUAGE UNKNOWN コマンドを入力します。サポートされていない言語でのデバッガの使用性を最大限に高めるため,この設定によってデバッガはデータ形式と演算子のセットを幅広く受け入れるようになります。この中には,サポートされている言語のうち,2,3 の言語だけに固有のデータ形式と演算子も含まれます。言語が UNKNOWN に設定されているときにデバッガが認識する演算子と構造についての詳しい説明は,オンライン・ヘルプの Language_UNKNOWN を参照してください。

C.2 GNAT Ada (Integrity のみ)

OpenVMS Integrity では,GNAT Pro (Ada 95) コンパイラがサポートされます。この製品の詳細については,Adacore 社までお問い合せください。

  注意
HP は,OpenVMS Alpha から OpenVMS Integrity へ HP Ada (Ada 83) コンパイラをポーティングしていません。

Integrity サーバでは, AdaCore Technologies, Inc. の GNAT Pro Ada 95 を使用します。この製品に関する情報は,AdaCore 社の以下のドキュメントを参照してください。

  • GNAT Pro Users Guide』 -- このドキュメントでは,Ada 95 プログラミング言語のためのコンパイラおよびソフトウェア開発ツールセットである GNAT Pro の使用方法について説明しています。以下の URL で参照できます。

    http://www.gnat.com/wp-content/files/auto_update/gnat-unw-docs/html/gnat_ugn.html 
    

  • GNAT Pro Reference Manual』--- このドキュメントには,GNAT Pro コンパイラを使用してプログラムを作成するための情報が含まれています。このドキュメントでは, Annex M の標準で必要とされるすべての情報を含め, GNAT Pro の実装に依存した属性についても説明してます。以下の URL で参照できます。

    http://www.gnat.com/wp-content/files/auto_update/gnat-unw-docs/html/gnat_rm.html 
    

OpenVMS Alpha 用の HP Ada については, 付録 C.3 節 を参照してください。

C.3 HP Ada (Alpha)

次の各サブトピックでは,Alpha システムにおける HP Ada のデバッガ・サポートについて説明します。 Ada のタスキング・プログラムに固有の情報については, 第 16 章 も参照してください。

C.3.1 Adaの名前とシンボル

次の各サブトピックでは,デバッガがサポートしている Ada の名前,シンボル,および定義済みの属性について説明します。

名前の一部分は言語式(たとえば,'FIRST や 'POS といった属性)である場合があるので注意してください。このことは,EXAMINE,EVALUATE,DEPOSIT の各コマンドでこれらの名前を使用する方法に影響します。列挙型の例については,オンライン・ヘルプの Specifying_Attributes_with_Enumeration_Types を参照してください。

サポートされている Ada の名前を次に示します。

名前の種類 デバッガのサポート
レキシカル要素 Ada の識別子の構文規則を完全にサポートしている。

識別子ではなく演算子のシンボル(たとえば,+ や *)である関数の名前には,接頭辞 %NAME を付ける必要がある。また,演算子のシンボルは二重引用符で囲まなければならない。

数値リテラル,文字リテラル,文字列リテラル,予約語についての Ada の規則を完全にサポートしている。

-2147483648 から 2147483647 までの範囲で,符号付き整数リテラルを受け入れる。

コンテキストとアーキテクチュアに応じて浮動小数点数型を,F 浮動小数点数型, D 浮動小数点数型,G 浮動小数点数型,H 浮動小数点数型, S 浮動小数点型,または T 浮動小数点数型と解釈する。

添字付き要素 完全にサポートしている。
断面 断面全体,または断面の添字付き要素を確認および評価することができる。

断面の添字付き要素の格納だけができる。断面全体の格納はできない。

選択要素 .allall キーワードの使用も含めて,完全にサポートしている。
リテラル null キーワードも含めて,完全にサポートしている。
ブール・シンボル 完全にサポートしている (TRUE,FALSE)。
集合体 EXAMINE コマンドでレコード全体および配列のオブジェクトを確認することができる。配列またはレコードの構成要素に値を格納することができる。文字列の値を格納する場合を除き, DEPOSIT コマンドで集合体を使用することはできない。



サポートされている Ada の定義済みの属性を次に示します。デバッガの SHOW SYMBOL/TYPE コマンドで得られる情報は,属性 P'FIRST, P'LAST,P'LENGTH,P'SIZE,および P'CONSTRAINED によって得られる情報と同じですので注意してください。

属性 デバッガのサポート
P'CONSTRAINED 接頭辞Pが,判別子の付いたレコード・オブジェクトを表す場合。P'CONSTRAINED の値は, P の現在の状態 (制約付き,または制約なし) を表す。
P'FIRST 接頭辞 P が列挙型または列挙型の部分型を表す場合。P の下限を示す。
P'FIRST 接頭辞 P が配列型に対応しているか,制約付き配列の部分型を表す場合。最初の添字範囲の下限を示す。
P'FIRST(N) 接頭辞 P が配列型に対応しているか,制約付き配列の部分型を表す場合。N 番目の添字範囲の下限を示す。
P'LAST 接頭辞 P が列挙型または列挙型の部分型を表す場合。P の上限を示す。
P'LAST 接頭辞 P が配列型に対応しているか,制約付き配列の部分型を表す場合。最初の添字範囲の上限を示す。
P'LAST(N) 接頭辞 P が配列型に対応しているか,制約付き配列の部分型を表す場合。N 番目の添字範囲の上限を示す。
P'LENGTH 接頭辞 P が配列型に対応しているか,制約付き配列の部分型を表す場合。最初の添字範囲の値の個数を示す (範囲が空の場合はゼロ)。
P'LENGTH(N) 接頭辞 P が配列型に対応しているか,制約付き配列の部分型を表す場合。N 番目の添字範囲の値の個数を示す (範囲が空の場合はゼロ)。
P'POS(X) 接頭辞 P が列挙型または列挙型の部分型を表す場合。値 X の位置番号を示す。最初の位置番号は 0。
P'PRED(X) 接頭辞 P が列挙型または列挙型の部分型を表す場合。位置番号が X より 1 小さい P 型の値を示す。
P'SIZE 接頭辞 P がオブジェクトを示す場合。オブジェクトを保持するために割り当てられたビット数を示す。
P'SUCC(X) 接頭辞 P が列挙型または列挙型の部分型を表す場合。位置番号が X より 1 大きい P 型の値を示す。
P'VAL(N) 接頭辞 P が列挙型または列挙型の部分型を表す場合。位置番号が N の P 型の値を示す。最初の位置番号は 0。

C.3.1.2.1 列挙型の属性の指定

次の宣言について考えます。

type DAY is
   (MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY); 
MY_DAY : DAY; 

列挙型の属性の使用例を次に示します。属性の値を確認するのに EXAMINE コマンドを使用することはできませんので注意してください。これは属性が変数名ではないためです。属性の値を確認するときは,代わりに EVALUATE コマンドを使用してください。これと同じ理由から,DEPOSIT コマンドでは属性を := 演算子の右辺にしか置けません。

DBG> EVALUATE DAY'FIRST
MON
DBG> EVALUATE DAY'POS(WEDNESDAY)
2
DBG> EVALUATE DAY'VAL(4)
FRI
DBG> DEPOSIT MY_DAY := TUESDAY
DBG> EVALUATE DAY'SUCC(MY_DAY)
WED
DBG> DEPOSIT . := DAY'PRED(MY_DAY)
DBG> EXAMINE .
EXAMPLE.MY_DAY: MONDAY
DBG> EVALUATE DAY'PRED(MY_DAY)
%DEBUG-W-ILLENUMVAL, enumeration value out of legal range

C.3.1.2.2 オーバーロードされた列挙リテラルの解決

次の宣言について考えます。

type MASK is (DEC,FIX,EXP); 
type CODE is (FIX,CLA,DEC); 
MY_MASK : MASK; 
MY_CODE : CODE; 

次の例では,オーバーロードされた列挙リテラル FIX を型明示式 CODE'(FIX) で解決します。この列挙リテラル FIX は CODE 型と MASK 型の両方に属しています。

DBG> DEPOSIT MY_CODE := FIX
%DEBUG-W-NOUNIQUE, symbol 'FIX' is not unique
DBG> SHOW SYMBOL/TYPE FIX
data EXAMPLE.FIX 
    enumeration type (CODE, 3 elements), size: 1 byte 
data EXAMPLE.FIX 
    enumeration type (MASK, 3 elements), size: 1 byte
DBG> DEPOSIT MY_CODE := CODE'(FIX)
DBG> EXAMINE MY_CODE
EXAMPLE.MY_CODE:        FIX



C.3.2 演算子と式

次の節では, Ada の演算子と言語式に関するデバッガのサポートについて説明します。

サポートされているAdaの言語式の演算子を次に示します。

種類 シンボル 機能
接頭辞 + 単項正符号(一致)
接頭辞 - 単項負符号(否定)
挿入辞 + 加算
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 除算
挿入辞 MOD モジュロ
挿入辞 REM 剰余
接頭辞 ABS 絶対値
挿入辞 & 連結(文字列型のみ)
挿入辞 = 等値(スカラ型および文字列型のみ)
挿入辞 /= 不等(スカラ型および文字列型のみ)
挿入辞 > 大なり(スカラ型および文字列型のみ)
挿入辞 >= 以上(スカラ型および文字列型のみ)
挿入辞 < 小なり(スカラ型および文字列型のみ)
挿入辞 <= 以下(スカラ型および文字列型のみ)
接頭辞 NOT 論理否定
挿入辞 AND 論理積(ビット配列以外の場合)
挿入辞 OR 論理和(ビット配列以外の場合)
挿入辞 XOR 排他的論理和(ビット配列以外の場合)

次に示す項目はサポートされていません。

  • 配列全体の演算,レコード全体の演算

  • and then および or else の短絡制御形式

  • in および not in のメンバシップ・テスト

  • ユーザ定義の演算子



サポートされている Ada の式を次に示します。

式の種類 デバッガのサポート
型変換 Ada で指定された 明示的な型変換はどれもサポートしていない。しかし,デバッガが式を評価するときは数値型の間で特定の型変換が 暗黙に行われる。

精度の異なる型が式に含まれている場合,デバッガは式を評価する前に,精度の低い型を精度の高い型に変換する。

  • 整数型と浮動小数点数型が混在しているときは,整数型が浮動小数点数型に変換される。

  • 整数型と固定小数点数型が混在しているときは,整数型が固定小数点数型に変換される。

  • サイズの異なる整数型 (たとえば,バイト整数とワード整数) が混在しているときは,サイズの小さい整数型が大きい整数型に変換される。

部分型 完全にサポートしている。ただし,デバッガは,部分型および範囲の制約がある型を"部分範囲" 型として示す。
型明示式 オーバーロードされた列挙リテラル (識別子は同じだが,異なる列挙型に含まれるリテラル) を解決しなければならないので,サポートしている。それ以外の目的では型明示式をサポートしていない。
アロケータ アロケータを使用する演算は何もサポートしていない。
ユニバーサル式 サポートしていない。


目次 索引

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