Post Mortem Debugger for Oberon
The Oberon environment offers only limited possibilities for inspecting run time information, as well as for determining the cause for an exception. Only variables of basic types such as INTEGER or CHAR can be examined. This paper presents a post mortem debugger that allows also the inspection of structured types such as RECORD or ARRAY. It supports views of all local and global variables of any type. Run time types are supported as well as dynamic arrays. It is possible to follow variables of type POINTER in order to traverse complex data structures. Additionally, the trap position in the source code can be viewed. Special attention has been paid to make the debugger easily portable. The debugger has been ported to several Oberon systems (SPARC, RS6000, Windows and PowerMac). This required only minor changes. Another goal was to embed the debugger into the Oberon environment as smoothly as possible. This results in a look and feel typical for Oberon. Many features of the Oberon System (text frames, text elements) have been reused, resulting in small and compact code.
Published in Proc. Joint Modular Languages Conference '94, Ulm September 1994, Universitätsverlag Ulm, pp. 137-146; ISBN 3-89559-220-X