Turnstone Operating System
Loading...
Searching...
No Matches
backtrace.64.c File Reference

backtrace (stack trace) implementation More...

#include <backtrace.h>
#include <logging.h>
#include <systeminfo.h>
#include <linker.h>
#include <cpu.h>
#include <cpu/task.h>
#include <bplustree.h>

Typedefs

typedef void(* memory_backtrace_f) (void)
 

Functions

 MODULE ("turnstone.lib.backtrace")
 
static int8_t backtrace_symbol_table_compare_function (const void *a, const void *b)
 
static const char_tbacktrace_get_symbol_name_by_symbol_name_offset (uint64_t symbol_name_offset)
 
static int8_t backtrace_got_key_cloner (memory_heap_t *heap, const void *key, void **cloned_key)
 
int8_t backtrace_init (void)
 
static const linker_global_offset_table_entry_tbacktrace_get_symbol_entry (uint64_t rip)
 
const char_tbacktrace_get_symbol_name_by_rip (uint64_t rip)
 
void backtrace_print_location_by_rip (uint64_t rip)
 
void backtrace_print_location_and_stackframe_by_rip (uint64_t rip, stackframe_t *frame)
 
static stackframe_tbacktrace_validate_stackframe (stackframe_t *frame)
 
stackframe_tbacktrace_get_stackframe (void)
 
void backtrace_print (stackframe_t *frame)
 
void backtrace (void)
 
stackframe_tbacktrace_print_interrupt_registers (uint64_t rsp)
 

Variables

memory_backtrace_f memory_heap_backtrace_func
 
static index_tbacktrace_symbol_table = NULL
 

Detailed Description

backtrace (stack trace) implementation

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.