OpenEuphoria: Euphoria v4.1

# OpenEuphoria Manual

## Euphoria v4.1

routine or constant name search

| 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.

1. routine name
2. file name
3. line number

#### 8.55.3.2 M_INIT_DEBUGGER

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public constant M_INIT_DEBUGGER

#### 8.55.3.3 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.4 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.5 read_object

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function read_object(atom sym)

#### 8.55.3.6 trace_off

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public procedure trace_off()

#### 8.55.3.7 disable_trace

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public procedure disable_trace()

#### 8.55.3.8 step_over

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public procedure step_over()

#### 8.55.3.9 abort_program

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public procedure abort_program()

#### 8.55.3.10 get_current_line

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_current_line()

#### 8.55.3.11 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.12 get_pc

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_pc()

#### 8.55.3.13 is_novalue

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function is_novalue(atom sym_ptr)

#### 8.55.3.14 debugger_call_stack

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function debugger_call_stack()

#### 8.55.3.15 break_routine

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function break_routine(atom routine_sym, integer enable)

#### 8.55.3.16 get_name

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_name(atom sym)

#### 8.55.3.17 get_source

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_source(integer line)

#### 8.55.3.18 get_file_no

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_file_no(integer line)

#### 8.55.3.19 get_file_name

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_file_name(integer file_no)

#### 8.55.3.20 get_file_line

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_file_line(integer line)

#### 8.55.3.21 get_next

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_next(atom sym)

#### 8.55.3.22 is_variable

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function is_variable(atom sym_ptr)

#### 8.55.3.23 get_parameter_syms

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_parameter_syms(atom rtn_sym)

#### 8.55.3.24 get_symbol_table

    include euphoria/docs/../include/euphoria/debug/debug.e
    namespace debug
    public function get_symbol_table()

| Up |  |  | TOC | Index
<< 7 Included Tools | < 8.54 Unit Testing Framework | Up: 8 API Reference | 8.56 Windows Message Box > | 9 Release Notes >>