【发布时间】:2013-01-08 16:47:49
【问题描述】:
所以,我有一个变量 buffPtr:TPointer 它的大小为 16,包含一系列数字,大部分以 0 开头,例如 013854351387365。 我确定它包含值,因为应用程序可以正常工作。
我想在调试时看到这个值。
如果我将“PAnsiChar(buffPtr)^”添加到手表中,我只会看到第一个字节。
【问题讨论】:
-
你试过把 PAnsiChar(BufPtr) (不带 ^)吗?
所以,我有一个变量 buffPtr:TPointer 它的大小为 16,包含一系列数字,大部分以 0 开头,例如 013854351387365。 我确定它包含值,因为应用程序可以正常工作。
我想在调试时看到这个值。
如果我将“PAnsiChar(buffPtr)^”添加到手表中,我只会看到第一个字节。
【问题讨论】:
如果您想要序数/字节值,只需输入监视表达式PAnsiChar(buffPtr)^,16 或PByte(buffPtr)^,16。
这里的技巧是在逗号后添加模式重复的数量,例如,16。
恕我直言,这比更改 Watch Properties 更方便,并且可以与 IDE 的 F7 评估命令一起使用。
【讨论】:
我添加了一块手表 PAnsiChar(buffPtr)^
Watch 属性为
重复次数 = 16 十进制
【讨论】:
您是否设置了手表转储内存区域?对于一些有帮助的结构。
如果你可以重新编译你的应用程序,那么定义这个:
type
T16Values = array[0..15] of Byte;
P16Values = ^T16Values;
然后将指针转换为P16Values,然后查看。
如果是Byte以外的其他数据类型,则相应更改上述代码。
【讨论】: