Retro Rocket Kernel
BASIC-Powered Operating System
debugger.h File Reference

Data Structures

struct  symbol_t
 
struct  stack_frame_t
 

Macros

#define SYM_ABSOLUTE   'A'
 
#define SYM_BSS   'B'
 
#define SYM_COMMON   'C'
 
#define SYM_INITIALISED   'D'
 
#define SYM_SMALLOBJECT   'G'
 
#define SYM_INDIRECT_REF   'I'
 
#define SYM_DEBUGGING   'N'
 
#define SYM_READONLY   'R'
 
#define SYM_UNINITIALISED   'S'
 
#define SYM_TEXT   'T'
 
#define SYM_TEXT2   't'
 
#define SYM_UNDEFINED   'U'
 
#define SYM_WEAK_OBJECT   'V'
 
#define SYM_WEAK_SYMBOL   'W'
 
#define SYM_STABS   '-'
 
#define SYM_UNKNOWN   '?'
 

Functions

void dump_hex (void *address, uint64_t length)
 print the contents of the specified memory address in hexadecimal format along with the corresponding ASCII characters. The function achieves this by iterating through the memory in chunks of 16 bytes and printing each chunk on a separate line. More...
 
void init_debug ()
 
void backtrace ()
 
symbol_tget_sym_table ()
 

Detailed Description

Author
Craig Edwards (craig.nosp@m.edwa.nosp@m.rds@b.nosp@m.rain.nosp@m.box.c.nosp@m.c)

Macro Definition Documentation

◆ SYM_ABSOLUTE

#define SYM_ABSOLUTE   'A'

◆ SYM_BSS

#define SYM_BSS   'B'

◆ SYM_COMMON

#define SYM_COMMON   'C'

◆ SYM_DEBUGGING

#define SYM_DEBUGGING   'N'

◆ SYM_INDIRECT_REF

#define SYM_INDIRECT_REF   'I'

◆ SYM_INITIALISED

#define SYM_INITIALISED   'D'

◆ SYM_READONLY

#define SYM_READONLY   'R'

◆ SYM_SMALLOBJECT

#define SYM_SMALLOBJECT   'G'

◆ SYM_STABS

#define SYM_STABS   '-'

◆ SYM_TEXT

#define SYM_TEXT   'T'

◆ SYM_TEXT2

#define SYM_TEXT2   't'

◆ SYM_UNDEFINED

#define SYM_UNDEFINED   'U'

◆ SYM_UNINITIALISED

#define SYM_UNINITIALISED   'S'

◆ SYM_UNKNOWN

#define SYM_UNKNOWN   '?'

◆ SYM_WEAK_OBJECT

#define SYM_WEAK_OBJECT   'V'

◆ SYM_WEAK_SYMBOL

#define SYM_WEAK_SYMBOL   'W'

Function Documentation

◆ backtrace()

void backtrace ( )

◆ dump_hex()

void dump_hex ( void *  address,
uint64_t  length 
)

print the contents of the specified memory address in hexadecimal format along with the corresponding ASCII characters. The function achieves this by iterating through the memory in chunks of 16 bytes and printing each chunk on a separate line.

Parameters
addressa pointer to some memory address
lengthrepresents the number of bytes of memory that should be dumped.

◆ get_sym_table()

symbol_t* get_sym_table ( )

◆ init_debug()

void init_debug ( )