Unravel Engine C++ Reference
Loading...
Searching...
No Matches
crash.hpp
Go to the documentation of this file.
1
21#pragma once
22
23#include <string>
24
25namespace unravel::crash
26{
27
31 const char* signal_name;
32};
33
36 std::string exception_type;
37 std::string exception_message;
38};
39
41struct trace_info {
42 std::string formatted_trace;
43};
44
45// Callback function types
46using interrupt_handler_t = void(*)(const signal_info& info);
47using termination_handler_t = void(*)(const signal_info& info);
48using crash_handler_t = void(*)(const signal_info& info, const trace_info& trace);
49using exception_handler_t = void(*)(const exception_info& info, const trace_info& trace);
50
51
53{
54 // Callback function for interrupt signals, or nullptr for default behavior
56
57 // Callback function for termination signals, or nullptr for default behavior
59
60 // Callback function for crash signals, or nullptr for default behavior
62
63 // Callback function for C++ exceptions, or nullptr for default behavior
65};
66
75auto install_handlers(const crash_handlers& handlers) -> void;
76
77} // namespace unravel::crash
void(*)(const signal_info &info) interrupt_handler_t
Definition crash.hpp:46
void(*)(const signal_info &info) termination_handler_t
Definition crash.hpp:47
auto install_handlers(const crash_handlers &handlers) -> void
Install comprehensive crash handlers.
Definition crash.cpp:313
void(*)(const exception_info &info, const trace_info &trace) exception_handler_t
Definition crash.hpp:49
void(*)(const signal_info &info, const trace_info &trace) crash_handler_t
Definition crash.hpp:48
exception_handler_t exception_handler
Definition crash.hpp:64
interrupt_handler_t interrupt_handler
Definition crash.hpp:55
crash_handler_t crash_handler
Definition crash.hpp:61
termination_handler_t termination_handler
Definition crash.hpp:58
Exception information structure
Definition crash.hpp:35
std::string exception_message
Exception message/description.
Definition crash.hpp:37
std::string exception_type
Exception type name (demangled)
Definition crash.hpp:36
Signal information structure.
Definition crash.hpp:29
int signal_number
Signal number (SIGINT, SIGSEGV, etc.)
Definition crash.hpp:30
const char * signal_name
Human-readable signal name.
Definition crash.hpp:31
Stack trace information.
Definition crash.hpp:41
std::string formatted_trace
Formatted stack trace string.
Definition crash.hpp:42