web-dev-qa-db-ja.com

GDBでの構造体値の表示

GDBでは、構造体を指す変数を指定すると、printは生のポインター値を表示し、xは指す生のバイトを表示します。その構造体としてポイントされているデータ、つまりフィールドとその値のリストを表示する方法はありますか?

21
rwallace
print *variable

そうすると、その変数の値がGDBに表示されます。
インデントと改行で構造体を表示するオプションもあります:

$1 = {
next = 0x0,
flags = {
sweet = 1,
sour = 1
},
meat = 0x54 "Pork"
}

そのためには、きれいなプリントを設定する必要があります:

set print pretty on

値の配列を印刷する場合は、次のようにします。

print *array@len
51
Yarneo