第三十八章 Caché 命令大全 ZZDUMP 命令
以十六进制转储格式显示表达式。
大纲
ZZDUMP:pc expression,...
参数
- pc 可选 - 后置表达值
- expression 要以十六进制转储格式显示的数据。可以指定一个数字,一个字符串(用引号引起来)或一个解析为其中之一的变量。可以指定一个表达式或逗号分隔的表达式列表。
描述
ZZDUMP
以十六进制转储格式显示表达式。ZZDUMP
主要是系统程序员所感兴趣的,但是在查看包含控制字符的字符串时很有用。
ZZDUMP
以以下格式返回数字或字符串值:
position: hexdata printdata
参数
pc
如果后置条件表达式为true(计算为非零数值),则Caché执行ZZDUMP
命令。如果后置条件表达式为假(计算为零),则Caché不执行命令。
expression
可以将表达式指定为数字,字符串文字或可解析为其中之一的变量。可以指定一个表达式或逗号分隔的表达式列表。指定以逗号分隔的表达式列表将被解析为对每个表达式发出单独的ZZDUMP
命令。当出现第一个错误时,将停止执行以逗号分隔的列表。
表达式可以是任何类型的变量,包括局部变量,进程专用全局变量,全局变量和特殊变量。可以使用扩展引用在另一个名称空间中指定全局变量。如果指定了不存在的名称空间,则Caché会发出错误。如果指定了没有权限的名称空间,则Caché会发出错误,后跟全局名称和数据库路径,例如:<PROTECT> ^myglobal,c:\intersystems\cache\mgr\.
示例
以下示例显示了ZZDUMP
返回两个单字符字符串变量的十六进制转储。请注意,每个逗号分隔的表达式都被视为ZZDUMP
的单独调用:
SET x="A"
SET y="B"
ZZDUMP x,y
DHC-APP>SET x="A"
DHC-APP> SET y="B"
DHC-APP> ZZDUMP x,y
0000: 41 A
0000: 42 B
下面的示例显示ZZDUMP
为单个转储行返回的字符串变量返回的十六进制转储时间太长。请注意,第二个转储行(0010 :)的位置为十六进制:
SET z="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ZZDUMP z
DHC-APP>ZZDUMP z
0000: 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 ABCDEFGHIJKLMNOP
0010: 51 52 53 54 55 56 57 58 59 5A QRSTUVWXYZ
以下示例显示了ZZDUMP
返回三个变量的十六进制转储。请注意,对于空字符串变量,不会返回十六进制转储(甚至不是空行)。还要注意,数字会转换为规范形式(删除了前导零和尾随零以及加号);包含数字的字符串不会转换为规范形式:
SET x=+007
SET y=""
SET z="+007"
ZZDUMP x,y,z
DHC-APP>SET x=+007
DHC-APP>SET y=""
DHC-APP>SET z="+007"
DHC-APP>ZZDUMP x,y,z
0000: 37 7
0000: 2B 30 30 37 +007
注意
Unicode
如果ZZDUMP
表达式中的一个或多个字符是宽字符(Unicode),则该表达式中的所有字符都表示为宽字符。以下示例显示了包含Unicode字符的变量。在所有情况下,所有字符都显示为宽字符。
SET x=$CHAR(987)
SET y=$CHAR(987)_"ABC"
ZZDUMP x,y
DHC-APP>SET x=$CHAR(987)
DHC-APP>SET y=$CHAR(987)_"ABC"
DHC-APP>ZZDUMP x,y
0000: 03DB ??
0000: 03DB 0041 0042 0043 ??AB
ZZDUMP与WRITE命令的比较
请参阅 第七章 疯狂Caché 命令(二) Write 命令
网友评论