以前4.4節の中で述べたように, 変数の値,型情報の表示に付いては,変更を加えず, また,データ構造のアクセスについては, 各タイプに対して pretty printer を準備することにしている. pretty printer は,コンパイラ側で準備され, デバッグ対象実行ファイルの中に, ランタイムとして組み込まれる. interger, character, real といった,primitive typeに対する pretty printerはなく, その他の ABCL/f type に対しては, メソッドである pp() という形で用意されている.
gdb をコマンドラインから用いる場合は,
p(rint) variable の結果primitive typeでなければ,
call variable->pp()
とコマンドラインに対し実行する事で,pretty printerを
起動する事が出来る.
Emacs インターフェイスを用いる場合は, p(rint) コマンドが従来の print コマンドを, pp(rint) コマンドで,primitive typeにはprint コマンドを, それ以外のものには, pp() メソッドの実行を行うようになっている. pp コマンドにおいては,変数の型を知る必要があるため, まず, gdb のprintコマンドでその型を調べ, primitive でないとわかった場合に,pp()メソッドの実行をgdb に対して要求する.