58 case SignalError::Unknown:
60 "Uknown signal given, 'handle_signal' can only handle 'SIGSEGV', " 61 "'SIGILL' and 'SIGFPE'.");
62 case SignalError::SigErr:
63 return SpanReport(
"'std::signal' returned 'SIGERR'");
71 CharSpan(
char *data_,
size_t size_) noexcept : data{data_}, size{size_} {}
84 auto raw()
const noexcept -> std::string_view;
108 constexpr
explicit Frame() =
default;
size_t size
Definition: backtrace.h:70
std::signal returned SIG_ERR
Option< uintptr_t > sp
address on the call stack
Definition: backtrace.h:102
int trace(Callback callback, int skip_count=0)
Mutable type-erased view over a contiguous character container.
Definition: backtrace.h:68
SpanReport operator>>(ReportQuery, SignalError const &err) noexcept
Definition: backtrace.h:56
Option< Symbol > symbol
function's symbol name. possibly demangled.
Definition: backtrace.h:106
An Unknown error occurred.
reperesents an active stack frame.
Definition: backtrace.h:98
Option< uintptr_t > offset
offset of the function's call-site to the callee on the instruction block.
Definition: backtrace.h:104
Definition: option_result.h:90
Option< uintptr_t > ip
instruction pointer
Definition: backtrace.h:100
#define STX_END_NAMESPACE
Definition: config.h:329
CharSpan(char *data_, size_t size_) noexcept
Definition: backtrace.h:71
bool(*)(Frame, int) Callback
Definition: backtrace.h:116
SignalError
Definition: backtrace.h:49
auto handle_signal(int signal) noexcept -> Result< void(*)(int), SignalError >
Definition: backtrace.h:82
#define STX_BEGIN_NAMESPACE
Definition: config.h:325
Tag type for dispatching reports.
Definition: report.h:55
Symbol(CharSpan sym) noexcept
Definition: backtrace.h:91
char * data
Definition: backtrace.h:69