GDB は、配列と構造体をどのように表示したらいいのかをコントロールするた めの、いくつかの方法を供給しています。
info format
set array-max number-of-elements
set prettyprint on
$1 = { next = 0x0, flags = { sweet = 1, sour = 1 }, meat = 0x54 "Pork" }
set prettyprint off
$1 = {next = 0x0, flags = {sweet = 1, sour = 1}, meat = 0x54 "Pork"}これは、デフォルトのフォーマットです。
set unionprint on
set unionprint off
typedef enum {Tree, Bug} Species; typedef enum {Big_tree, Acorn, Seedling} Tree_forms; typedef enum {Caterpiller, Cocoon, Butterfly} Bug_forms; struct thing { Species it; union { Tree_forms tree; Bug_forms bug; } form; }; struct thing foo = {Tree, {Acorn}};`set unionprint on' 時の `p foo' に対する効果は次のような 出力であり、
$1 = {it = Tree, form = {tree = Acorn, bug = Cocoon}}`set unionprint off' 時の効果は次のような出力となります。
$1 = {it = Tree, form = {...}}