`print' コマンドによって表示される各々の値は、他の式から参照する ことができる GDB の変数履歴というセッションに保存されます。
表示された値は、あなたが参照するために、履歴番号によって与えられ ます。これらは、1ではじまる連続する整数値です。`print' は、指定 された値を表示する前に `$num = ' という形式で履歴番号を 表示します; この num が履歴番号です。
以前の任意の値を参照する場合、その値の履歴番号を後に持つ `$' を
使います。`print' によって表示される出力は、あなたにこのことを
気付かせるようにデザインされています。単なる $
は履歴上の最も
最近の値を参照し、$$
は、その直前の値を参照します。
例えば、ポインタの構造を表示した後で、その内容を再び見たくなったと仮定 しましょう。これは、次のように入力するだけで十分です。
p *$
もし、構造体がチェインを持ち、`next' が次の構造体をポイントして いる場合、次の構造体の内容を表示させる時には、このようにします:
p *$.next
RET を何回も入力することでこのコマンドを繰り返すのは、 とても便利でしょう。
履歴は値を記録しており、式を記録しているわけではないことに注意して
下さい。x
の値が4であるとして、あなたが次のコマンドを入力したら:
print x set x=5
変数履歴に記録されている値は、いかに変数 x
の内容が変更されたと
しても、`print' コマンドが表示した4のままです。
info values
info values n
info values +