next up previous contents
Next: 5. Behind the scenes Up: 4. Running PaPCo Previous: 4.8 Command-line PaPCo

   
4.9 Recovering from a crash

PaPCo core by bow is very stable and should not crash. PaPCo attempts to trap all errors that occur in user-writen routines (modules), using the IDL on_error facility. Such errors are reported by PaPCo, in the IDL transcript window and/or in the draw window in place of the panel it was busy producing. PaPCo will not crash in those cases, but the part of the module you were attempting to use will not be useable until the problem is fixed. You might need to contact the module athor to help you with that, or, if you manage to fix the problem yourself, do inform the author so that he may upgrade his module for the next release.

To produce a real crash, you need to turn off the PaPCo error trapping. This can be done with the defaults widget (4.5.9).

The crash recovery ``tricks'' in this section are for advanced IDL users. They are provided for developers who might encounter a lot of crashes while writing a a new module, but they are also useful for the normal user in unlikely case that the PaPCo error trapping fails.

Normally, when a program crashes you need to start again from scratch. In IDL there are ways of recovering from a crash and to continue from the point where you left off, this can substantially speed up the program development loop ``edit - try out - crash - edit - try out OK!'' as you don ot have to re-start PaPCo each time!

Depending on your IDL version, you can recover from a crash in the following ways:

IDL 4.x:
After the error message you are back at the IDL prompt and the PaPCo widget is still up. You can try to use the IDL commands .con to continue, .skip to skip over the error producing line, or return to return from the crashed routine. If you crashed in your plot routine, use the PaPCo batch file @papco_ret_plot to continue. If you managed to continue, use the STOP button to halt PaPCo and do any edits / compiles needed, then continue.
IDL 5.x:
From this version of IDL onwards any errors produced by widget programs are trapped by IDL: you get an error message, but the widget manager does not crash. Now simply close any draw windows by hitting the Dell All button in the last active draw window; this will re=activate the PaPCo main widget. Now use the STOP button to halt PaPCo and do any edits / compiles needed, then continue.

However, if get stuck or get the IDL message ``can't continue from this point'', then PaPCo has to be restarted (close any PaPCo windows manually first):

retall (use the PaPCo routine resetx under IDL 4.x)
papco

At times PaPCo may get into an unrecoverable mode and will produce strange graphics, even after retall. In that case exit IDL and re-start IDL and PaPCo from scratch.

Whenever you had an ungacefull exit from PaPCo, PaPCo will start up next time with the last product you were working on.


next up previous contents
Next: 5. Behind the scenes Up: 4. Running PaPCo Previous: 4.8 Command-line PaPCo
Reiner Friedel
1999-02-03