SourceForge.net Tracing Module

Tracing Module
Table of Contents

Using the included debugger


This distribution comes with (at least) code for a tracing module, and possibly that code compiled. The source files are named ooeu_trace.e, trace_screen.e and sprint.e. They require wxEuphoria v0.8.1 or greater to be translated and compiled. You don't need the source of wxEuphoria to use the compiled tracing module with OOEU. You'll need to put the debugger binaries in the platform appropriate place:

Windows %EUDIR%\bin (wxooeu.dll, ooeu_trace.dll) Linux usr/lib (wxooeu.so, ooeu_trace.so)

Tracing commands are mostly similar to a standard RDS tracing session. The following are the keyboard commands available:

	RETURN  Continue to the next statement
	q       Resume normal program execution until the next call to trace
	        from within the code or the next break point.
	Q       Stop all tracing until the program stops
	!       Abort the program and get an ex.err dump.
	?       Puts focus on the variable bar
	DOWN    Run past the current statement, skipping routine calls and loops
Break points may be manually set anywhere in a file that has with trace on. Click on the line number, and it will be highlighted. If the program executes that line, the debugger will be invoked the same as if trace(1) were called. Clicking the number again removes the break point. Break points should not be set on 'non-executable' statements such as routine declarations, blank lines, or comments (basically, all lines that the tracer would normally skip over).

The variable display can also accept simple subscripts (integers only). If the subscript is invalid, this will be displayed. The values of subscripted entries will be updated just like normal variables.

Variable values can be changed dynamically. Select the variable to be changed in the list, then click on the 'Change' button, or type '='. Normal and subscripted variables can be changed. A dialog will open with a text box containing the current value. Make the alterations and click OK to save the changes.