print
コマンド、
および、
ほかの多くのGDBコマンドは、
式を受け取って、
その値を評価します。
ユーザの使用しているプログラミング言語によって定義されている定数、
変数、
演算子は、
いずれもGDBにおける式の中で有効です。
これには、
条件式、
関数呼び出し、
キャスト、
文字列定数が含まれます。
しかし、
プリプロセッサの#define
コマンドによって定義されるシンボルは、
残念ながら含まれません。
現在のGDBは、
ユーザの入力する式において配列定数をサポートします。
その構文は、
{element, element...}です。
例えば、
コマンドprint {1, 2, 3}
を使用して、
ターゲット・プログラム内でmalloc()
によって獲得されたメモリ内に配列を作成することができます。
C言語は大変広汎に使用されているので、 このマニュアルの中で示される例の中の式はC言語で記述されています。 他の言語での式の使い方に関する情報については、 See Using GDB with Different Languages。
この節では、 プログラミング言語によらずGDBの式で使用できる演算子を説明します。
キャストは、 C言語のみならず、 すべての言語でサポートされています。 これは、 メモリ内のあるアドレスにある構造体を調べるのに、 数値をポインタにキャストするのが大変便利であるからです。
プログラミング言語によらず共通に使用可能な演算子に加えて、 GDBは以下の演算子をサポートしています。
@
::
{
type}
addr