Sun Studio 12 Update 1:使用 dbx 调试程序

本地模式语法

print expression, ...

打印表达式 expression, ... 的值。

print -r expression

打印表达式 expression 的值,包括其继承成员(仅限于 C++)。

print +r expression

dbx 环境变量 output_inherited_members 为 on 时,不打印继承成员(仅限于 C++)。

print -d [-r] expression

显示动态类型而不是静态类型的表达式 expression(仅限于 C++)。

print +d [-r] expression

dbx 环境变量 output_dynamic_type 为 on 时,不使用动态类型的表达式 expression(仅限于 C++)。

print -p expression

调用 prettyprint 函数。

print +p expression

dbx 环境变量 output_pretty_print 为 on 时,不调用 prettyprint 函数。

print -L expression

如果打印对象 expression 大于 4K,强制打印。

print +l expression

如果表达式是一个字符串 (char *),则只打印地址,不打印字符。

print -l expression

('Literal') 不打印左侧内容。如果表达式是一个字符串 (char *),则不打印地址,只打印字符串的原始字符,且不带引号。

print -fformat expression

使用 format 作为整数、字符串或浮点表达式的格式。

print -Fformat expression

使用指定格式但不打印左侧内容(变量名或表达式)。

print -o expression

以序数值形式打印必须是枚举的 expression 值。此处也可以使用格式字符串 (-fformat)。对于非枚举型表达式,忽略此选项。

print -- expression

"--" 表示标志参数的结尾。如果 expression 以加号或减号开头,这很有用(有关作用域求解规则,请参见程序作用域)。

其中:

expression 是要打印其值的表达式。

format 是打印表达式时要使用的输出格式。如果该格式不适用于指定类型,则会默认忽略该格式字符串,dbx 将使用其内置打印机制。

允许的格式是 printf(3S) 命令使用的格式的子集。遵循以下约束: