次: , 前: Filenames, 上: Setting


9.1.2 作業言語の設定

GDBに言語を自動的に設定させる場合、 ユーザのデバッグ・セッションとユーザのプログラムにおいて、 式は同様に解釈されます。

もしそうしたければ、 言語を手作業で設定することもできます。 そのためには、 コマンド`set language lang'を実行します。 ここで、 langは、 cmodula-2 のような言語名です。 サポートされている言語のリストは、 `set language'で表示させることができます。

言語を手作業で設定すると、 GDBは、 作業言語を自動的に更新することができなくなります。 このことは、 作業言語がソースの言語と同一ではなく、 かつ、 ある式がどちらの言語でも有効でありながら、 その意味が異なるような状況でプログラムをデバッグしようとしたときに、 混乱をもたらす可能性があります。 例えば、 カレントなソース・ファイルがC言語で記述されていて、 GDBがそれをModula-2として解析している場合に、

     print a = b + c

のようなコマンドを実行すると、 その結果は意図したものとは異なるものになるでしょう。 これはC言語では、 bcとを加算して、 その結果をaに入れるということを意味し、 表示される結果は、 aの値となります。 Modula-2では、 これはab+cの結果を比較してBOOLEAN型の値を出力することを意味します。