Oracle Solaris Studio 12.2:使用 dbx 调试程序

使用美化输出

美化输出让程序可通过函数调用以自己的方式呈现表达式值。如果在 print 命令、rprint 命令、 display 命令或 watch 命令中指定 -p 选项,则 dbx 会搜索格式为 const chars *db_pretty_print(const T *, int flags, const char *fmt) 的函数并调用它,从而替换返回值以便输出或显示。

以该函数的 flags 参数传递的值是按位操作值或以下所列之一:

FVERBOSE

0x1

目前尚未实现,始终设置 

FDYNAMIC

0x2

-d

FRECURSE

0x4

-r

FFORMAT

0x8

-f (如果设置,fmt 是格式部分)

FLITERAL

0x10

-l

db_pretty_print() 函数可以是静态成员函数,也可以是独立函数。

如果 dbx 环境变量 output_pretty_print 设置为 on,-p 会传递到 print 命令、 rprint 命令或 display 命令中作为缺省选项。可使用 +p 来覆盖此行为。

另外需要考虑以下各项: