routine or constant name search

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.

  1. routine name
  2. file name
  3. 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:
  1. 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()