A computer-implemented method for debugging an executable control flow graph that specifies control flow among a plurality of functional modules, with the control flow being represented as transitions (18, 20) among the plurality of functional modules, with each functional module being configured to execute one or more actions on a computer system and with each functional module including a plurality of methods to perform the one or more actions, wherein the plurality of methods includes a method (52, 226, 356) that causes a controlled application to run and one or more framework methods, with the one or more framework methods including a method (49, 50, 222, 224, 349) that sets up an environment for the controlled application to run or a method (54, 56, 59, 228, 352) that executes based on a result of a run of the controlled application, and with the control flow specifying an order in which individual functional modules are to be executed, the computer-implemented method including: specifying a position (22, 24, 26, 44, 46, 461, 48, 50a-c, 52a-c, 54a-c, 56a-c, 59a-c, 312, 314, 316, 318, 320, 322, 344-346, 348, 350) in the executable control flow graph at which execution of the executable control flow graph is to be interrupted; wherein the specified position (22, 24, 26, 44, 46, 461, 48, 50a-c, 52a-c, 54a-c, 56a-c, 59a-c, 312, 314, 316, 318, 320, 322, 344-346, 348, 350) represents a transition (18, 20) to a given functional module, a transition (18, 20) to a state in which contents of the given functional module are executed or a transition (18, 20) from the given functional module; starting execution of the executable control flow graph in an execution environment; and at a point of execution representing the specified position (22, 24, 26, 44, 46, 461, 48, 50a-c, 52a-c, 54a-c, 56a-c, 59a-c, 312, 314, 316, 318, 320, 322, 344-346, 348, 350), interrupting execution of the executable control flow graph; and providing data representing one or more attributes of the execution environment in which the given functional module is being executed. specifying a position (22, 24, 26, 44, 46, 461, 48, 50a-c, 52a-c, 54a-c, 56a-c, 59a-c, 312, 314, 316, 318, 320, 322, 344-346, 348, 350) in the executable control flow graph at which execution of the executable control flow graph is to be interrupted; wherein the specified position (22, 24, 26, 44, 46, 461, 48, 50a-c, 52a-c, 54a-c, 56a-c, 59a-c, 312, 314, 316, 318, 320, 322, 344-346, 348, 350) represents a transition (18, 20) to a given functional module, a transition (18, 20) to a state in which contents of the given functional module are executed or a transition (18, 20) from the given functional module; starting execution of the executable control flow graph in an execution environment; and at a point of execution representing the specified position (22, 24, 26, 44, 46, 461, 48, 50a-c, 52a-c, 54a-c, 56a-c, 59a-c, 312, 314, 316, 318, 320, 322, 344-346, 348, 350), interrupting execution of the executable control flow graph; and providing data representing one or more attributes of the execution environment in which the given functional module is being executed. interrupting execution of the executable control flow graph; and providing data representing one or more attributes of the execution environment in which the given functional module is being executed.