The File menu contains commands that affect the file that is being debugged, and the debugger as a whole. The file menu is selected by clicking its button in the dubber window. The commands in the File menu are:
+---------------+ | Open... | +---------------+ | Edit Source | +---------------+ |===============| +---------------+ | Nonstop | +---------------+ | Break | +---------------+ | Abort | +---------------+ |===============| +---------------+ | Quit Debugger | +---------------+
The Open command allows you to view another file in the source debugger window. This gives you a convenient way to set spypoints. When you select Open, the debugger pops up a dialogue, which allows you to select the file to view. Note that only files that have been loaded into Prolog can be viewed. The Frame Back button, described above, provides a convenient way to return to the current debugging invocation frame.
The Edit Source command provides a quick and convenient way to begin editing the file in the debugger window. A QUI editor window is opened on the file currently shown in the debugger window.
The Nonstop command turns off the debugger for the rest of the execution of the top-level goal. When the execution of this goal is completed, the debugger returns to its current mode (trace, debug, or zip). This option does not turn the debugger off; to turn the debugger off, you must use the Quit Debugger option, or type nodebug. at the main Prolog prompt.
The Break command calls the built-in predicate break/0
, thus
suspending the execution so far and putting you at the equivalent of a
new Prolog top level. (See the description of break/0
in
ref-iex-int.) The new execution is separate from the suspended one,
and invocation numbers will start again from 1. The debugger is turned
off, and the debugger window is closed, when the break level is entered,
although the spypoints and leashing of the suspended level are retained.
When you end the break (by typing the end-of-file character), execution
will resume and you will be prompted once again at the port that you
left. Changes to leashing or to spypoints will remain in effect after
the break has finished.
The Abort command aborts (abandons) the current execution. All the execution states built so far are destroyed, and execution restarts at the top level (or current break level).
The Quit Debugger command turns off the debugger altogether, just like
the nodebug/0
command (see mpg-ref-nodebug). The debugger window
is also closed at this time, since it is only open when debugging is on.