调试器中奇怪的"无法访问的值"

raf*_*pek 13 delphi debugging delphi-xe4

谁能解释这个屏幕:

在此输入图像描述

正如你所看到的,我有简单的数组 - 当我使用A [0],A 1时,调试器显示其元素的值...但我无法获得具有局部变量A [i]的 元素(但是"i"的值正确显示).

项目设置:
调试信息:ON
本地符号:ON
优化:OFF.

项目(一个PAS文件)是BUILD,所以DCU是新鲜的.您可以在该屏幕上看到此测试项目的几乎完整代码,因此不可能在其他单元等中声明数组A或"i"...

现在我检查了 - Delphi XE3中的相同代码完美运行 - 调试器显示所有值.似乎XE4在基本功能方面存在严重错误: - ((

小智 0

它不起作用,因为“val”是一个函数而不是一个变量。双击监视的项目并选中属性“允许函数调用”。

  • 从OP发布的代码中可以清楚地看到,“val”是名为“TSome”的记录的整数子元素(即:确实是变量),而A是该记录的数组。因此, A[i].val 确实指向一个整数变量而不是一个函数...... (2认同)