1 #include <backward/backward.hpp>
6 using namespace backward;
8 class TracedException : public std::runtime_error
12 std::runtime_error(_get_trace())
16 std::string _get_trace()
18 std::ostringstream ss;
20 StackTrace stackTrace;
21 TraceResolver resolver;
22 stackTrace.load_here();
23 resolver.load_stacktrace(stackTrace);
25 for(std::size_t i = 0; i < stackTrace.size(); ++i)
27 const ResolvedTrace trace = resolver.resolve(stackTrace[i]);
29 ss << "#" << i << " at " << trace.object_function << "\n";
40 throw TracedException();
44 std::cout << "i=" << i << "\n";
54 } catch (const TracedException& ex)
56 std::cout << ex.what();