第三十八章 Caché 命令大全 ZZDUMP 命令

本文详细介绍了Caché数据库系统中的ZZDUMP命令,该命令用于以十六进制转储格式显示表达式,特别适用于查看包含控制字符的字符串。文章提供了多个示例,展示了如何使用ZZDUMP来显示不同类型的变量,并与WRITE命令进行了对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

第三十八章 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 命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yaoxin521123

谢谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值