#include "easylogging++/easylogging++.h"
#include <stdexcept>
#include <libunwind.h>
#include <cxxabi.h>
#include <dlfcn.h>
#include <boost/algorithm/string.hpp>
#include "common/stack_trace.h"
#include "misc_log_ex.h"
Go to the source code of this file.
|
| namespace | tools |
| | Various Tools.
|
◆ CXA_THROW
| #define CXA_THROW __cxa_throw |
◆ CXA_THROW_INFO_T
| #define CXA_THROW_INFO_T void |
◆ ELECTRONEUM_DEFAULT_LOG_CATEGORY
| #define ELECTRONEUM_DEFAULT_LOG_CATEGORY "stacktrace" |
◆ ST_LOG
Value:do { \
if (elpp) { \
} \
else { \
std::cout << x << std::endl; \
} \
} while(0)
Main entry point of each logging.
#define ELECTRONEUM_DEFAULT_LOG_CATEGORY
Definition at line 53 of file stack_trace.cpp.
53#define ST_LOG(x) \
54 do { \
55 auto elpp = ELPP; \
56 if (elpp) { \
57 CINFO(el::base::Writer,el::base::DispatchAction::FileOnlyLog,ELECTRONEUM_DEFAULT_LOG_CATEGORY) << x; \
58 } \
59 else { \
60 std::cout << x << std::endl; \
61 } \
62 } while(0)
◆ UNW_LOCAL_ONLY
◆ USE_UNWIND
◆ cxa_throw_t
◆ __attribute__()
| __attribute__ |
( |
(noreturn) | | ) |
|
◆ dest
Definition at line 91 of file stack_trace.cpp.
92{
93
94 int status;
95 char *dsym = abi::__cxa_demangle(((
const std::type_info*)
info)->
name(), NULL, NULL, &status);
97 free(dsym);
98
99#ifndef STATICLIB
100#ifndef __clang__
102#endif
104#endif
106}
__attribute__((noreturn)) void CXA_THROW(void *ex
CXA_THROW_INFO_T void(* dest)(void *))
void cxa_throw_t(void *ex, CXA_THROW_INFO_T *info, void(*dest)(void *))
◆ info