Menu Functions

Parent Previous Next

Menu Functions.

The debugger has an independent menu which provide easy access to the built-in functionality. It works very much like the main menu and the icons can trigger the following fly-out menus:


Each fly-out menu and their menu items are described next.


Session.

The Session menu is used for managing the files involved in a debug session. This functionality is closely related to the Setup tab-page.


Menu Item

Description



New Session

The current debugging session is closed and the internals are reset to start a new empty session.






Load Compilation Unit File

This function loads a Compilation Unit File (CUF) and extracts the project information and the source file content which are presented in the Project :: Source tree located on the Debug Execution tab-page. It is possible to load multiple CUFs related to different VMs. The path of each loaded CUF is presented on the Setup tab-page.

Load Trace Events

This function loads the file with the recorded trace events. Each event is presented on the Trace Events tab-page. The file path is presented on the Setup tab-page.

Reload All

This function reloads the content of all the CUFs and the trace file. This can be especially useful in case development is done in one IDE, and debugging is done in another. If any breakpoints are defined, these will be repositioned after the reload, but this is done using textual comparison to find the correct lines and if the source code has changed too much, the repositioning may not succeed in which case a warning is shown.






Import Setup

Imports the setup file and inserts the paths for all CUFs and the trace file. Then the content of these files are loaded. Finally any stored breakpoints are imported.

Export Setup

Exports/creates the setup file containing the paths for all CUFs and the trace file. All breakpoints are also saved.

Save Setup

Updates the setup file by overwriting it on disk.






Exit

Ends the session and closes the form.






Debug Source Code.

The Debug menu contains functions for managing breakpoints and for executing debug-commands. This functionality is closely related to the Debug Execution tab-page.


Menu Item

Description



Stop / Reset

This function stops an ongoing debug execution of the events and clears the Call Stack and Trace Values list.






Run

Executes the events sequentially from the current event (or from the start) until an enabled breakpoint is encountered - or more precisely until it encounters an event which refers to some source code for which an active breakpoint has been defined, at which point it pauses the execution and updates the tab-pages to present the Call Stack and the Trace Values. When the last event is executed it pauses to inform that all events have been processed and to allow for an inspection of the Trace Values list.

Run From Start

Same as Run - however always starting at the beginning with the first event. If an execution is currently ongoing, it is aborted using the Stop/Reset function.

Run to Cursor

Same as Run - but it stops if it reaches an event that matches the source code cursor position.






Step In

Single-steps through the events containing source code references. Any passed events containing values are reported by the Trace Values list.

Step Over

Uses the Run function to move to the next event on the same level or on an outer (lower) level. Any events encountered in between (related to source code on an inner level in a called function) are executed silently, but execution is paused if any of these inner level events have an enabled breakpoint.

Step Out

Same as Step Over - however it runs to the next source code event on an outer level to exit the current function.







Note: Use Options to control the colors of enabled and disabled breakpoints.

Breakpoint

Can set or remove (toggle) a breakpoint. A breakpoint is actually a stop-line which involves all statements with source code on this line, however usually a breakpoint only involves a single statement at which execution should be paused temporarily.



Enable All Breakpoints

Enables all defined breakpoints making them active.

Disable All Breakpoints

Disables all breakpoints (making them inactive) without deleting them.

Remove All Breakpoints

Deletes all breakpoints.






Clear Trace Values

Deletes all entries in the Trace Values list.






Trace Events.

The Trace menu contains functions for executing trace commands and is closely related to the Trace Events tab-page.


Menu Item

Description



Fast Forward to Event

Select an event in the list and execute this function. It will execute all events from the current (or the start) until the selected. If any breakpoints are encountered, they are ignored.






Show Current Event

Switches to the Trace Events tab-page to show the event currently being debugged.

Show Source Text

Switches to the Debug Execution tab-page to show the source code of the current or selected event.





Please note there is not necessarily a one-to-one relation between the source code and the events - e.g. a statement within a loop may be referenced by multiple events.