Patent ID: 8087002

Claim:
A method in a computing system for debugging interpreted code in a visual debugger using breakpoints to facilitate step-based evaluation of expressions, comprising: presenting a visual user interface for receiving debugging commands; in response to a received debug command to set or change an indicated breakpoint in a segment of code that is expressed in an interpreted programming language and that defines one or more expressions, determining the nearest enclosing expression to the indicated breakpoint, including when the nearest enclosing expression begins on a line of source code associated with the code segment that is different from a line of the associated source code that contains the indicated breakpoint; and generating a breakpoint address that indicates a location in the segment of code that corresponds to the beginning of the determined enclosing expression when the code segment is evaluated by: generating a logical breakpoint address that indicates the beginning of the determined enclosing expression; and mapping the generated logical breakpoint address to a memory address that corresponds to an element in a parse tree generated for evaluating the determined enclosing expression, the element corresponding to the beginning of the determined enclosing expression; and causing the code segment to be evaluated using an interpreter for the interpreted programming language, such that evaluation automatically stops when the location in the code segment that corresponds to the breakpoint address is encountered; and causing one or more source code statements that correspond to and indicate the location in the code segment where the evaluation stopped to be displayed in the visual interface; and receiving one or more additional debug commands to further control the evaluation of the code segment or to examine aspects of the code segment under evaluation.