The Control Panel
The control panel contains the buttons that are used to control the execution of the program being traced, step by step.
| Creep: The smallest possible step. If you keep clicking the creep button, you step through the execution of a program in all available detail. Depending on the state of the program, creep leeds to the creation of a new node with status called or redone, or to an existing node changing its status to failed, exited nondeterministically, exited deterministically or exception. In both cases, this node is automatically selected.
|
| Auto-complete: Makes sense when the currently selected node has status called or redone: auto-complete will fast-forward, i.e. execution will keep creeping, until that node changes its status, i.e. its execution completes with success, failure or an exception.
|
| Pause: Clicking this button interrupts a running auto-complete, i.e. the fast-forward stops, but the step being autocompleted is remembered. When pause is clicked again, auto-complete of this step is resumed.
|
| Skip: Like auto-complete, but done on the Prolog side, i.e. the underlying Prolog debugger is told to skip execution of the step whose call or redo port was just seen. This has the advantage of being much more efficient since substeps are not transmitted to Kahina. This is of course also a disadvantage: the descendant steps of the skipped step are never shown, so use this with care. Skip cannot be paused. Also, it is only possible to skip the most recently called or redone step, not arbitrarily selected steps.
|
| Fail: Forces the step just called or redone to fail without execution. Can be useful to test parts of a program that would not normally be executed.
|
| Leap: Fast-forwards until creep, pause or stop is clicked. Can be useful for letting (large parts of) a program execute completely to inspect the execution later.
|
| Stop: Stops auto-completing or leaping. The difference to pause is that auto-completing cannot be resumed afterwards.
|