1 #include "utils/Error.h"
3 #ifdef ENABLE_STACKTRACE
4 #include <third-party/backward.h>
10 std::string
FatalError::get_trace(
const std::string& what) {
11 #ifdef ENABLE_STACKTRACE
12 using namespace backward;
14 StackTrace stackTrace;
15 TraceResolver resolver;
16 stackTrace.load_here();
17 resolver.load_stacktrace(stackTrace);
18 std::ostringstream ss;
21 p.color_mode = ColorMode::always;
22 p.inliner_context_size = 1;
23 p.trace_context_size = 1;
24 p.print(stackTrace, ss);
27 ss <<
"Error: " << what << std::endl;
34 std::string
AssertError::get_trace(
const std::string& what) {
35 #ifdef ENABLE_STACKTRACE
36 using namespace backward;
38 StackTrace stackTrace;
39 TraceResolver resolver;
40 stackTrace.load_here();
41 stackTrace.skip_n_firsts(5);
42 resolver.load_stacktrace(stackTrace);
43 std::ostringstream ss;
46 p.color_mode = ColorMode::always;
47 p.inliner_context_size = 1;
48 p.trace_context_size = 1;
49 p.print(stackTrace, ss);