Go to the first, previous, next, last section, table of contents.

フォーマットに関するオプション

GDB は、配列と構造体をどのように表示したらいいのかをコントロールするた めの、いくつかの方法を供給しています。

info format
カレントのフォーマットオプションの設定について表示します。
set array-max number-of-elements
もし、GDB が非常に大きな配列を表示するような場合、`set array-max' に 設定されている要素数だけ表示した後に、表示を停止します。この制限は、 文字列を表示する時などによく使われます。
set prettyprint on
GDB に、構造体を1つのメンバが1行にインデントされたフォーマットで 表示するように指示します。例えば次のように:
$1 = {
  next = 0x0,
  flags = {
    sweet = 1,
    sour = 1
  },
  meat = 0x54 "Pork"
}
set prettyprint off
GDB に、構造体をコンパクトなフォーマットで表示するように指示します。 例えば次のように:
$1 = {next = 0x0, flags = {sweet = 1, sour = 1}, meat = 0x54 "Pork"}
これは、デフォルトのフォーマットです。
set unionprint on
GDB に対して、構造体の中に共用体 (union) が含まれている場合は、それを 表示するように指示します。これはデフォルトの設定です。
set unionprint off
GDB は、構造体に含まれる共用体を表示しなくなります。 例えば、次のような宣言が与えられていた場合、
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 = {...}}

Go to the first, previous, next, last section, table of contents.