如何在Delphi中调试时可视化指针的值?

时间:2013-01-08 16:47:50

标签: delphi delphi-7

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

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

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

3 个答案:

答案 0 :(得分:10)

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

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

恕我直言比更改Watch属性更方便,它适用于IDE的F7评估命令。

答案 1 :(得分:8)

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

将Watch Properties设为

重复计数= 16 小数

enter image description here

答案 2 :(得分:3)

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

如果您可以重新编译应用程序,请定义:

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

然后将指针投射到P16Values,然后查看。

如果是Byte以外的其他数据类型,请相应更改上述代码。