如何:刷新监视值
当在调试器中计算表达式时,两个刷新图标之一可能出现在 值 列。 一个刷新图标是包含两个箭头,在相反方向旋转的圆圈。 其他是一个波浪线类似于线程的圆圈。
这些图标指示调试器中显示的值不是当前值。 该值可能是正确的,但是,它已过时。 为了强调此情况,该值也可能显示为灰色。 您可以单击图标强制计算,但是,您应了解图标和可能的结果的原因。
如果您指向图标,工具提示提供有关该表达式的原因的信息而未计算。
如果显示旋转箭头,则是由于以下原因之一来计算:
,在表达式进行计算,错误。 例如,超时可能已经发生的事件,或者变量可能超出范围。
计算表达式需要计算属性或进行隐式函数调用。 属性和隐式函数计算可能会程序状态的副作用。 由于这些副作用可能会使调试更加困难,属性和隐式函数的自动计算。调试器通常会关闭 有时,程序员可能会无意关闭自动计算。 有关副作用的更多信息,请参见 副作用与表达式。
如果两个线程显示,因为潜在的跨线程依赖项,该未计算表达式。 跨线程依赖项意味着计算代码需要在应用程序中的其他线程暂时运行。 当您处于中断模式时,在应用程序中所有线程通常停止。 允许其他线程暂时运行可能会对程序状态产生意外的效果并导致调试器忽略断点等事件。
更新过期的值
执行以下步骤之一:
单击刷新图标。
选择值,然后按空格键。
调试器尝试重新计算该表达式。 如果出现刷新图标,因为属性和隐式副作用的自动计算已关闭,则现在将会计算表达式。
关闭/打开自动属性计算
在 工具 菜单上,单击 选项。
在 选项 对话框中,打开 调试 节点,然后单击 常规。
如果 调试 未显示节点,请单击 显示所有设置。
选中或清除 启用属性计算,并其他隐式函数调用 复选框,然后单击 确定。