所以,我有一个变量buffPtr:TPointer 它有一个大小为16,并包含一系列的数字,主要是从0开始,说像013854351387365.我确定它包含值,因为应用程序做它没事。如何在Delphi中调试时显示指针的值?
我想在调试时看到这个值。
如果我在表中添加“PAnsiChar(buffPtr)^”,我只能看到第一个字节。
所以,我有一个变量buffPtr:TPointer 它有一个大小为16,并包含一系列的数字,主要是从0开始,说像013854351387365.我确定它包含值,因为应用程序做它没事。如何在Delphi中调试时显示指针的值?
我想在调试时看到这个值。
如果我在表中添加“PAnsiChar(buffPtr)^”,我只能看到第一个字节。
我添加了一个手表 PAnsiChar(buffPtr)^
与观看属性为
重复计数为16 小数
我不明白这个问题或答案。你能详细说明一下吗? –
如果您还包含来自此配置的* output *的图片,而不仅仅是对话框的输入,那将会很好。 –
你设置的手表做转储记忆区域?对于一些有帮助的结构。
如果可以重新编译应用程序,然后定义如下:
type
T16Values = array[0..15] of Byte;
P16Values = ^T16Values;
然后投你的指针变成P16Values
,并查看。
如果它是另一种数据类型比Byte
,请相应地更改上面的代码。
恕我直言,你不需要,因为调试器直接处理自定义重复。 –
有时候,在代码时间这样做更方便,因为保存调试器设置需要保存整个.DSK,这经常会导致痛苦。 –
...或者只是将16添加到表达式中。无需更改设置。 ;) –
如果您想要序号/字节值,只需输入手表表达式PAnsiChar(buffPtr)^,16
或PByte(buffPtr)^,16
。
这里的诀窍是在逗号后添加模式重复的数量,如,16
。
这是恕我直言,比改变观察属性更方便,它与IDE的F7评估命令一起工作。
+1;整洁的把戏。 –
你试过把PAnsiChar(BufPtr)(没有^)吗? – jachguate