在本地模式中,print 命令用于输出表达式的值。在 Java 模式中,print 命令用于输出表达式、局部变量或参数的值。
输出表达式 expression, ... 的值。
输出表达式 expression 的值,包括其继承成员(仅限于 C++)。
dbx 环境变量 output_inherited_members 为 on 时,不输出继承成员(仅限于 C++)。
显示动态类型而不是静态类型的表达式 expression(仅限于 C++)。
dbx 环境变量 output_dynamic_type 为 on 时,不使用动态类型的表达式 expression(仅限于 C++)。
输出当前 OpenMP 并列区域中每个线程的 expression 表达式的值(如果该表达式包含专用变量或线程专用变量)。
输出 expression 表达式的值,包括其静态成员(仅限于 C++)。
dbx 的环境变量 show_static_members 设置为 on 时不输出静态成员(仅限于 C++)。
调用 prettyprint 函数。
dbx 环境变量 output_pretty_print 为 on 时,不调用 prettyprint 函数。
如果输出对象 expression 大于 4K,强制输出。
如果表达式是一个字符串 (char *),则只输出地址,不输出字符。
('Literal') 不输出左侧内容。如果表达式是一个字符串 (char *),则不输出地址,只输出字符串的原始字符,且不带引号。
使用 format 作为整数、字符串或浮点表达式的格式。
使用指定格式但不输出左侧内容(变量名或表达式)。
以序数值形式输出必须是枚举的 expression 值。此处也可以使用格式字符串 (-fformat)。对于非枚举型表达式,忽略此选项。
"--" 表示标志参数的结尾。如果 expression 以加号或减号开头,这很有用(有关作用域求解规则,请参见程序作用域)。
其中:
expression 是要输出其值的表达式。
format 是输出表达式时要使用的输出格式。如果该格式不适用于指定类型,则会默认忽略该格式字符串,dbx 将使用其内置输出机制。
允许的格式是 printf(3S) 命令使用的格式的子集。遵循以下约束:
没有 n 转换。
没有将 * 用于字段宽度和精度。
没有 %<digits>$ 参数选择。
每个格式字符串只有一项转换规范说明。
下列简单语法定义了允许的格式:
FORMAT ::= CHARS % FLAGS WIDTH PREC MOD SPEC CHARS
CHARS ::= <any character sequence not containing a %>
| %%
| <empty>
| CHARS CHARS
FLAGS ::= + | - | <space> | # | 0 | <empty>
WIDTH ::= <decimal_number> | <empty>
PREC ::= . | . <decimal_number> | <empty>
MOD ::= h | l | L | ll | <empty>
SPEC ::= d | i | o | u | x | X | f | e | E | g | G |
c | wc | s | ws | p
如果指定的格式字符串不包含 %,dbx 会自动预置一个。如果该格式字符串包含空格、分号或制表符,则整个格式字符串必须加上双引号。
输出表达式 expression, ... 或标识符 identifier, ...
输出 expression 或 identifier 的值,包括其继承成员。
dbx 环境变量 output_inherited_members 为 on 时,不输出继承成员。
显示动态类型而不是静态类型 expression 或 identifier。
dbx 环境变量 output_dynamic_type 为 on 时,不使用动态类型的 expression 或 identifier。
"--" 表示标志参数的结尾。如果 expression 以加号或减号开头,这很有用(有关作用域求解规则,请参见程序作用域)。
其中:
class_name 是 Java 类的名称,可以使用包路径(使用句点 (.) 作为限定符,例如 test1.extra.T1.Inner),也可以使用完整路径名(前面加磅符号 (#), 并使用斜线 (/) 和美元符号 ($) 作为限定符,例如 #test1/extra/T1$Inner)。如果使用 $ 限定符,请使用引号将 class_name 引起来。
expression 是要输出其值的 Java 表达式。
field_name 是类中字段的名称。
identifier 是一个局部变量或参数,包括 this、当前类实例变量 (object_name.field_name) 或类(静态)变量 (class_name.field_name)。
object_name 是 Java 对象的名称。