次: Print Settings, 前: Memory, 上: Data
ある1つの式の値を (それがどのように変化するかを見るために) 頻繁に表示したい場合は、 その式を自動表示リストに加えて、 ユーザ・プログラムが停止するたびに、 GDBがその値を表示するようにするとよいでしょう。 リストに加えられた個々の式には、 それを識別するための番号が割り当てられます。 ある式をリストから削除する際に、 その番号を指定します。 自動表示は、 例えば以下のように表示されます。
2: foo = 38
3: bar[5] = (struct hack *) 0x3804
ここでは、
項目番号、
式、
および、
その式の現在の値が表示されます。
xコマンドやprintコマンドによって手動で表示を要求する場合と同様、
好みの出力フォーマットを指定することができます。
実は、
displayコマンドは、
ユーザのフォーマットの指定の詳細度によって、
printコマンドとxコマンドのいずれを使用するかを決定しています。
単位の大きさが指定された場合や、
xコマンドでしかサポートされていない2つのフォーマット
(`i'と`s')
のいずれかが指定された場合には、
xコマンドが使用されます。
それ以外の場合は、
printコマンドが使用されます。
display expコマンドの実行後に<RET>キーを押しても、
displayコマンドは繰り返し実行されません。
display/fmt expdisplay/fmt addr例えば、 `display/i $pc'は、 ユーザ・プログラムが停止するたびに、 次に実行されるマシン命令を見るのに便利です (`$pc'は、 プログラム・カウンタを指すのに一般に使用される名前です。 see Registers)。
undisplay dnums...delete display dnums...undisplayコマンドを実行後に<RET>キーを押しても、
コマンドは再実行されません
(仮に再実行されてしまうとすると、
`No display number ...'というエラーになるだけです)。
disable display dnums...enable display dnums...displayinfo display表示される式がローカル変数への参照を含む場合、
そのローカル変数がセットアップされているコンテキストの範囲外では、
その式は無意味です。
このような式は、
その中の変数の1つでも定義されないコンテキストが実行開始されると表示不可になります。
例えば、
引数last_charを取る関数の内部でdisplay last_charコマンドを実行すると、
その関数の内部でユーザ・プログラムが実行を停止し続ける間は、
GDBはこの引数を表示します。
ほかの箇所
(last_charという変数が存在しない箇所)
で停止したときには、
自動的に表示不可となります。
次にユーザ・プログラムがlast_charが意味を持つ箇所で停止したときには、
再びその式の表示を可能にすることができます。