3 Debugger

Valhalla [2] is the source level debugger in the Mjølner System. Valhalla offers an object-oriented environment for the debugging of BETA programs. Using Valhalla, you are able to control the execution of any BETA program; inspect the state of runtime objects; and trace the execution of the BETA code implementing the functionality of the application. The aim of Valhalla is to help the programmer to locate errors in BETA programs by tracing their execution at the BETA source level.

The user interface is divided in two integrated parts: the source browser, and the Valhalla Universe. The source browser enables browsing in the source code of the application being debugged (as well as other source files), and the Valhalla Universe enables the display of runtime objects and execution stacks of the actual execution during the execution of the application.

Figure 2: Debugger universe

[7kb 712x397 GIF]

The program execution may be controlled e.g. by setting breakpoints and single stepping at the BETA source level. Runtime errors are caught by Valhalla that will display the offending object and code. From there, program state can be browsed to locate the cause of error. The debugged program executes in a process of its own, being watched by Valhalla, but otherwise unaffected.

Using the Mjølner Debugger you may:

Figure 3: A breakpoint

[22kb 791x566 GIF]

The breakpoints and current execution point in the code is shown in the sourcebrowser.

Trace points
In order to make it easy to trace the execution of the application, Valhalla offers trace points. A trace point is a point in the source code, with an associated text string. Each time the execution passes a trace point, the text string is printed on the standard output. The text string is specified as part of the specification of the trace point.
Break points
In order to inspect the state of objects during the execution of the application, Valhalla offers break points. A break point is a point in the source code. Each time the execution passes a break point, control is passed back to Valhalla, enabling you to inspect the state of the execution, the state of runtime objects, etc.
Execution Control
Using Valhalla, you can control the execution of any BETA application. You can start and stop the execution, set break points and trace points, single step at the level of machine code instructions, at the level of BETA imperatives, step over procedure calls, etc.
Runtime Inspection
Valhalla offers extensive support for inspection of the runtime structure of the running application. You can examine the state of objects and runtime stacks. Using the easy-to-use graphical interface, you can navigate through the entire object structure, and locate any object in the application, inspecting its state.
[Tutorial] [Reference Manual]


[2] Valhalla is the name of the Hall of the Nordic God Odin. Valhalla is the place whereto all the dead warriors are brought when they have fallen as heroes on the battlefield. Odin is the highest ranking God in Asgaard


Mjolner Integrated Development Tool - Overview
© 1991-2002 Mjølner Informatics
[Modified: Friday October 27th 2000 at 14:56]