next up previous contents index
Next: Index Up: The Nuprl Proof Development Previous: Module Types

The Lisp Debugger

 

You can get thrown into the Lisp debugger  in several ways; for example if Lisp is interrupted, if a breakpoint was mistakenly left in the Nuprl code or if you hit a bug. The particular debugger appearance and commands given below are for Lucid Common Lisp. Other Lisps should be similar.

The initial message put out by the debugger should tell you what caused it to be invoked. To resume after an interrupt or breakpoint, enter:

To abort  the current computation and restart, enter:

If you get a crash, you can get more information on it as follows. The initial crash message might look something like:

Here, the -> is the debugger prompt. Enter:

Lisp prints a backtrace. For example:

Enter:

2 or 3 times. For example:

This provides a bit more information on the last function calls. When you send in a bug report, include the error message, backtrace and function calls you have obtained as above. Also, mention briefly what you were doing at the time of the crash.

To recover from a crash, enter

at the debugger prompt. Lisp then prints a top level prompt. For example:

-> :a
>

Try restarting by entering

If another crash follows immediately, the problem might be linked with the window system interface. Enter :a RETURN to get back to the top level, and then enter

On executing the (reset  ) function, all the Nuprl windows will close and (nuprl) will open up an initial ML-Top-Loop and library window. Any proofs you were just working on will not have been lost. Use the view function to open them up again. However, you might have lost the contents of the last term-editor window you were working in.

If still the system crashes but you can execute functions in the ML Top Loop , try dumping any theories you haven't previously saved, quit 

the Nuprl session, and start a new one (The quit function is (quit). If you can't even get the ML Top Loop running, the bug is very serious. Your only choice is to quit the session, losing any work you've done and haven't saved, and start a new session.



next up previous contents index
Next: Index Up: The Nuprl Proof Development Previous: Module Types



Karla Consroe
Wed Oct 23 13:48:45 EDT 1996