1. A computer-implemented method for evaluating an expression, the computer-implemented method comprising: using a computer to perform an initial evaluation of the expression with a debugger set to enable automatic reevaluation of all expressions within a first time period of a corresponding first evaluation of the expressions; detecting an action that causes a value of the expression to become stale, wherein the following actions cause the expression to become stale: evaluating another expression, switching threads, changing a process, switching call stack frames or when a user steps through a line of code in the debugger; setting the debugger to disable automatic reevaluation of selected expressions; decreasing a time period during which reevaluation of expressions must be completed to a second time period shorter than the first time period; and responsively evaluating the expression.
1. A computer-implemented method for evaluating an expression, the computer-implemented method comprising: using a computer to perform an initial evaluation of the expression with a debugger set to enable automatic reevaluation of all expressions within a first time period of a corresponding first evaluation of the expressions; detecting an action that causes a value of the expression to become stale, wherein the following actions cause the expression to become stale: evaluating another expression, switching threads, changing a process, switching call stack frames or when a user steps through a line of code in the debugger; setting the debugger to disable automatic reevaluation of selected expressions; decreasing a time period during which reevaluation of expressions must be completed to a second time period shorter than the first time period; and responsively evaluating the expression. 6. The computer-implemented method of claim 1 , further comprising indicating that the expression needs to be refreshed if an evaluation error occurs while evaluating the expression.