7.5 The Universe Menus

The Valhalla Universe defines a number of menus, which will be described in this section. The buttons in the Buttons Area are merely short-cuts for some of these menu items, and will therefore not be described separately.

7.5.1 File menu

Source Browser...
This menu item will result in a source browser being displayed (or, if a source browser is already opened, it will be raised (and wriggled).
Quit
Selection this menu item will terminate the debugged process, and Valhalla will thereafter be terminated too.

7.5.2 Edit menu

Command Line...
Selecting this menu item will open the Command Line Editor. Using this Editor, you can edit the command line arguments, that will be handed to the debugged process when it is forked as a separate process by Valhalla. Note, that changes to the command line arguments will not have any effect on the debugged process, if it have been forked. However, by rerunning the debugged process, changes to the command line arguments will be reflected to the debugged process.
Environment...
Selecting this menu item will open a Environment Editor. This editor makes it possible to edit the values of the environment variables (and define new environment variables) for the debugged process. As for command line arguments, these changes will only affect the debugged process after rerunning it.
Refresh
If the Universe for some reason seems corrupted, it might help to refresh the Universe. This will totally redraw the Universe, including the views, and the contents of these views.
Close
This will close the currently selected view(s).

7.5.3 Control menu

Below the items of the Control menu of the Valhalla Universe are described. These are concerned with controlling the execution of the debugged process.
Go
The debugged process resumes execution until it hits a breakpoint, receives a signal, terminates or a runtime error is detected by the BETA runtime system.
Also available as Go button in the Buttons Area.
Step
The Step command makes the debugged process resume execution until it have either executed one single BETA imperative, or it have stepped into some routine. This is the basic step of the debugger (single stepping).
Also available as Step button in the Buttons Area.
Step Over
The Step Over command makes the debugged process continue execution after setting a temporary breakpoint at the next BETA imperative in the code currently being executing. Step Over is only available if the debugged process is currently stopped in some BETA code (as opposed to being stopped during the execution of code written in C or some other language), as 'next BETA imperative' has no local meaning otherwise..
Also available as Step Over button in the Buttons Area.
Stop
Stops the debugged process.
Also available as Stop button in the Buttons Area.
Rerun
Kills the debugged process and restarts the program in a new process. Breakpoints already set continues to be set. Otherwise the state of the debugged process will be as if it just started execution. The command line arguments and the environment variables will be identical to the previous execution, unless they have been edited since last (re)run.
Also available as Rerun button in the Buttons Area.
Kill
Kills the debugged process.

7.5.4 Breakpoints menu

This menu is the "bread and butter" in controlling the debugged process. It is by means of the entries in this menu, that you can make the debugged process stop at specific places in the code (or output trace information at these points). You can also gain access to all defined breakpoints through this menu, and you can save the breakpoints, to be able to load them into the debugger in a later debugging session. There are three types of breakpoints: Break, Oneshot, and Trace, and breakpoints may be places either before or after an imperative.
Go Until Mark
If you have selected an imperative in a code view, and select this menu item, then Valhalla will instruct the debugged process to resume execution until the execution reaches the selected imperative.
Set Break
This will set a break point before the selected imperative in the code view. Each time execution reaches this point, the debugged process will be suspended, and all views open in the Universe will be updated. This implies that the stack view and all open object views will display the current state of the stack (respectively objects) at the points of the break.
Set OneShot
This will also set a breakpoint before the selected imperative in the code view, but a Oneshot break point will be removed automatically when it is reached the first time (i.e. the debugged process will only be suspended at this point one single time).
Set Trace...
Selecting this menu item will display a small dialog, in which you can specify a text string to be associated with the trace point. Valhalla will then insert a trace point before the selected imperative in the code view. When execution reaches a trace point, the associated text string will be printed, and execution immediately resumed.
Set Break After
Similar to Set Break, but will set the break point after the selected imperative in the code view.
Set OneShot After
Similar to Set OneShot, but will set the Oneshot point after the selected imperative in the code view.
Set Trace After...
Similar to Set Trace..., but will set the Trace point after the selected imperative in the code view.
Erase Break
If a break point is placed before the selected imperative in the code view, it will be removed.
Erase Break After
If a break point is placed after the selected imperative in the code view, it will be removed.
Breakpoint List
Through this menu item, you can gain access to all break points, that are currently set in the debugged process. These breakpoints are all accessible through the submenu, attached to this menu item. By selecting a given break point from the submenu, the source code with the selected break point will be displayed in a code view.
Breakpoints: Save
This menu item enables you to save the current set of break points onto a file (specified through a file dialog).
Breakpoints: Load
This menu item enables you to load a previously save set of breakpoints into the debugged process from onto a file (specified through a file dialog). This is only a safe operation, if first of all, it is the same application, and secondly no changes have been made to any of the source files in which any saved breakpoints appear. If one of these two conditions are not satisfied, this operation is not guaranteed to give any sensible results. Currently no check are implemented in Valhalla to test the legality of this load operation, and it should therefore be used with care (obeying the above conditions).

7.5.5 Windows menu

Through this menu, you can open views into the current state of the debugged process, i.e. inspecting state and source code of the currently executing object and component, and inspect the runtime stack of the debugged process.

Current Code
This will open a code view, displaying the source code, that was executed at the point of the break.
Also available as Code button in the Buttons Area.
Current Object
This will open an object view, displaying the state of the object that was executing at the point of the break.
Also available as Object button in the Buttons Area.
Current Component
This will open a component view into the component, that was executing at the point of the break.
Active Stack
This will display the contents of the execution stack at the point of the break.

Also available as Stack button in the Buttons Area.

7.5.6 Preferences menu

This menu gives a number of possibilities for setting preferences, defining the behaviour of the different parts of Valhalla. All menu items are toggle items, such that the preference is enabled if a check mark is visible to the left of the corresponding menu item.

One Line Char Repetitions
If enabled, char repetitions will be displayed as a text string. Otherwise, char repetitions will be displayed as other repetitions (i.e. on multiple lines with one index and the corresponding value on each line).
Invisible Origins
If enabled, Origin fields of objects will not be displayed.
Fast Browse Mode
If enabled, following dynamic object references will display the state of the referenced object in the same object view (replacing the existing contents). If disabled, following dynamic object references will create new object views for the referenced object.
Number Objects
If enabled, object references in object views will be specified with both the name of the pattern from which the object is instantiated and a sequence number. The sequence number helps in identifying easily that two object references refer to the same object. If disabled, the sequence numbers are not displayed.
Short Object Names
If enabled, object names in object views will be given in short form, leaving out information on the location of the pattern, from which they are instantiated. If disabled, the object names will contain this information.
Outline on Open
If enabled, opening a view in the Universe will be done interactively by the user by dragging an outline, defining the size and position of the new view. If disabled, Valhalla will define the size and position of the new view.
Show Current Code on Stop
If enabled, Valhalla will automatically display the source code, that was being executed at the time of the break.
Short Code Names
Similar to Short Object Names, just for code views.
Read Labels on Fork
If enabled, Valhalla will read the labels in the executable at the time of the fork. Otherwise, reading the labels will be postponed.
Debug Valhalla
Internal debugging facility for Valhalla.


Mjolner Integrated Development Tool - Reference Manual
© 1991-2002 Mjølner Informatics
[Modified: Thursday October 4th 2001 at 16:56]