[Next] [Previous] [Up] [Top]

3 Using the Cecil Debugger

3.4 Resuming program execution

Typing cont or ctrl-D exits the debugger and continues running the program, either to completion or until the next breakpoint is hit. However, if the debugger was entered because of an error, and there is no enclosing error handler (see recover below), then this will exit the program.

step continues execution until the next message is sent. Since messages are sent very frequently, this will advance execution only a small amount.

next continues execution until the next message is about to be sent from the current frame or the current frame is about to return (if no other breakpoint is hit first). next is akin to the similar command in gdb, and can be used to step over a message send. If next is done in some frame, and then a closure lexically nested within that frame is either entered or about to send a message, then execution is also suspended; this allows next-ing through a method, seamlessly stepping into and out of any lexically nested closures within that method.

finish resumes execution until the current active stack frame is about to return (if no other breakpoint is hit first). Execution will suspend, and the value about to be returned (if any) will be printed. Entering finish when suspended at the finish point of a stack frame will finish from its calling frame.