Retro Rocket Kernel BASIC-Powered Operating System

Data Structures | Macros | Functions
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_t * | get_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)

Copyright
  Copyright (c) 2012-2023

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

  address | a pointer to some memory address
  length | represents the number of bytes of memory that should be dumped.

## ◆ get_sym_table()

symbol_t* get_sym_table | ( |  | ) |

## ◆ init_debug()

void init_debug | ( |  | ) |