如何:刷新监视值

本主题适用于:

版本

Visual Basic

C#

F#

C++

Web Developer

学习版

主题适用 主题适用 主题适用 主题适用 主题适用

专业版、高级专业版和旗舰版

主题适用

主题适用

主题适用

主题适用

主题适用

在调试器中计算表达式时,**“值”**列中可能会显示两个刷新图标之一。 一个刷新图标是包含两个按相反方向旋转的箭头的圆圈。 另一个刷新图标是包含两条类似于线条的波浪线的圆圈。

这些图标指示调试器中显示的值不是当前值。 该值可能是正确的,但它已过期。 为了强调此事实,该值也可能显示为灰色。 您可以单击图标强制计算,但应了解图标的原因以及可能出现的后果。

如果您指向图标,将显示一个工具提示,提供有关未计算表达式的原因的信息。

如果显示旋转箭头,则是由于下列原因之一而未计算表达式:

  • 在计算表达式时发生错误。 例如,计算可能超时或者变量可能超出范围。

  • 计算表达式需要计算属性或进行隐式函数调用。 属性以及隐式函数调用的计算可能会产生副作用,影响程序的状态。 由于这些副作用可能会使调试更加困难,因此调试器通常会关闭属性和隐式函数调用的自动计算。 有时,程序员可能会无意关闭自动计算。 有关副作用的更多信息,请参见副作用与表达式

如果显示两条线,则是由于潜在的跨线程依赖项而未计算表达式。 跨线程依赖项意味着计算代码要求应用程序中的其他线程暂时运行。 处于中断模式时,应用程序中的所有线程通常停止。 允许其他线程暂时运行可能会对程序状态产生意外影响,并会导致调试器忽略断点等事件。

更新过期的值

  • 执行以下步骤之一:

    • 单击刷新图标。

    • 选择值,然后按空格键。

    调试器尝试重新计算该表达式。 如果因为属性和隐式副作用的自动计算已关闭而出现刷新图标,现在将会计算表达式。

关闭/打开自动属性计算

  1. 在**“工具”菜单上,单击“选项”**。

  2. 在**“选项”对话框中打开“调试”节点,然后单击“常规”**。

    如果未显示**“调试”节点,请单击“显示所有设置”**。

  3. 选中或清除**“启用属性求值和其他隐式函数调用”复选框,然后单击“确定”**。

请参见

概念

副作用与表达式