Up | TOC | Index | |||||
<< 7 Included Tools | < 8.54 Unit Testing Framework | Up: 8 API Reference | 8.56 Windows Message Box > | 9 Release Notes >> |
8.55 Debugging tools
8.55.1 Call Stack Constants
8.55.1.1 CS_ROUTINE_NAME
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum CS_ROUTINE_NAME
CS_ROUTINE_NAME: index of the routine name in the sequence returned by call_stack
8.55.1.2 CS_FILE_NAME
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum CS_FILE_NAME
CS_FILE_NAME: index of the file name in the sequence returned by call_stack
8.55.1.3 CS_LINE_NO
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum CS_LINE_NO
CS_LINE_NO: index of the line number in the sequence returned by call_stack
8.55.1.4 CS_ROUTINE_SYM
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum CS_ROUTINE_SYM
CS_ROUTINE_SYM: (debugger only) Pointer to the routine symbol
8.55.1.5 CS_PC
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum CS_PC
CS_PC: (debugger only) The program counter pointer for this routine
8.55.1.6 CS_GLINE
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum CS_GLINE
CS_GLINE: (debugger only) The index into the global line array
8.55.2 DEBUG_ROUTINE Enum Type
These constants are used to register euphoria routines that handle various debugger tasks, displaying information or waiting for user input.
8.55.2.1 SHOW_DEBUG
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum SHOW_DEBUG
SHOW_DEBUG a procedure that takes an integer parameter that represents the current line in the global line table
8.55.2.2 DISPLAY_VAR
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum DISPLAY_VAR
DISPLAY_VAR A procedure that takes a pointer to the variable in the symbol table, and a flag to indicate whether the user requested this variable or not. Euphoria generally calls this when a variable is assigned to.
8.55.2.3 UPDATE_GLOBALS
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum UPDATE_GLOBALS
UPDATE_GLOBALS A procedure called when the debug screen should update the display of any non-private variables
8.55.2.4 DEBUG_SCREEN
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum DEBUG_SCREEN
DEBUG_SCREEN: called when the debugger should finish displaying and wait for user input before continuing
8.55.2.5 ERASE_PRIVATES
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum ERASE_PRIVATES
ERASE_PRIVATES: A procedure that takes a pointer to the routine that has gone out of scope, and whose symbols should be removed from the display.
8.55.2.6 ERASE_SYMBOL
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public enum ERASE_SYMBOL
ERASE_SYMBOL: A procedure that takes a pointer to the symbol that should be removed from the display
8.55.3 Debugging Routines
8.55.3.1 call_stack
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function call_stack()
Returns information about the call stack of the code currently running.
Returns:
A sequence where each element represents one level in the call stack. See the Call Stack Constants for constants that can be used to access the call stack information.
- routine name
- file name
- line number
8.55.3.2 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memstruct Var
8.55.3.3 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memstruct Block
8.55.3.4 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memstruct private_block
8.55.3.5 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memstruct Subp
8.55.3.6 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memunion U
8.55.3.7 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memstruct symtab_entry
8.55.3.8 BadSig:
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public memstruct source_line
8.55.3.9 M_INIT_DEBUGGER
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public constant M_INIT_DEBUGGER
8.55.3.10 initialize_debugger
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public procedure initialize_debugger(atom init_ptr)
Initializes an external debugger. It can also be called from a debugger compiled into a DLL / SO.
Parameters:
- init_ptr : The result of machine_func( M_INIT_DEBUGGER, {} ).
8.55.3.11 set_debug_rid
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public procedure set_debug_rid(DEBUG_ROUTINE rtn, integer rid)
8.55.3.12 read_object
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function read_object(atom sym)
8.55.3.13 trace_off
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public procedure trace_off()
8.55.3.14 disable_trace
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public procedure disable_trace()
8.55.3.15 step_over
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public procedure step_over()
8.55.3.16 abort_program
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public procedure abort_program()
8.55.3.17 get_current_line
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_current_line()
8.55.3.18 symbol_lookup
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function symbol_lookup(sequence name, integer line = get_current_line(), atom pc = get_pc())
8.55.3.19 get_pc
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_pc()
8.55.3.20 is_novalue
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function is_novalue(atom sym_ptr)
8.55.3.21 debugger_call_stack
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function debugger_call_stack()
8.55.3.22 break_routine
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function break_routine(atom routine_sym, integer enable)
8.55.3.23 get_name
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_name(atom sym)
8.55.3.24 get_source
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_source(integer src_line)
8.55.3.25 get_file_no
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_file_no(integer line)
8.55.3.26 get_file_name
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_file_name(integer file_no)
8.55.3.27 get_file_line
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_file_line(integer line_no)
8.55.3.28 get_next
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_next(atom sym)
8.55.3.29 is_variable
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function is_variable(atom sym_ptr)
8.55.3.30 get_parameter_syms
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_parameter_syms(atom rtn_sym)
8.55.3.31 get_symbol_table
include euphoria/docs/../include/euphoria/debug/debug.e namespace debug public function get_symbol_table()