ClickHouse/libs/libcommon/include/common/Backtrace.h
2019-03-05 20:42:02 +00:00

21 lines
496 B
C++

#pragma once
#include <string>
#include <vector>
#include <signal.h>
#ifdef __APPLE__
// ucontext is not available without _XOPEN_SOURCE
#define _XOPEN_SOURCE
#endif
#include <ucontext.h>
std::string signalToErrorMessage(int sig, siginfo_t & info, ucontext_t & context);
void * getCallerAddress(ucontext_t & context);
std::vector<void *> getBacktraceFrames(ucontext_t & context);
std::string backtraceFramesToString(const std::vector<void *> & frames, const std::string & delimiter = "");