#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if USE_UNWIND #define UNW_LOCAL_ONLY #include #endif #ifdef __APPLE__ // ucontext is not available without _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include std::string signalToErrorMessage(int sig, siginfo_t & info, ucontext_t & context); void * getCallerAddress(ucontext_t & context); std::vector getBacktraceFrames(ucontext_t & context); std::string backtraceFramesToString(const std::vector & frames);