7

所以,我有一个变量 buffPtr:TPointer 它的大小为 16,包含一系列数字,大部分以 0 开头,比如 013854351387365。我确定它包含值,因为应用程序可以正常工作。

我想在调试时看到这个值。

如果我将“PAnsiChar(buffPtr)^”添加到手表中,我只会看到第一个字节。

4

3 回答 3

11

只需输入监视表达式PAnsiChar(buffPtr)^,16,或者PByte(buffPtr)^,16如果您想要序数/字节值。

这里的技巧是在逗号之后添加模式重复的数量,例如,16.

恕我直言,它比更改 Watch Properties 更方便,并且它与 IDE 的 F7 评估命令一起使用。

于 2013-01-08T18:04:39.490 回答
9

我在 PAnsiChar(buffPtr)^ 中添加了一块手表

观察属性为

重复计数 = 16 十进制

在此处输入图像描述

于 2013-01-08T17:26:19.507 回答
3

您是否设置手表转储内存区域?对于一些有帮助的结构。

如果你可以重新编译你的应用程序,那么定义这个:

type
  T16Values = array[0..15] of Byte;
  P16Values = ^T16Values;

然后将您的指针转换为P16Values,并查看它。

如果它是另一种数据类型Byte,则相应地更改上面的代码。

于 2013-01-08T17:26:33.083 回答