proxygen
|
Namespaces | |
detail | |
Classes | |
struct | ExceptionInfo |
struct | ExceptionStats |
struct | StackTrace |
class | StackTraceStack |
Typedefs | |
using | CxaThrowType = decltype(&detail::dummyCxaThrow) |
using | CxaBeginCatchType = decltype(&detail::dummyCxaBeginCatch) |
using | CxaRethrowType = decltype(&detail::dummyCxaRethrow) |
using | CxaEndCatchType = decltype(&detail::dummyCxaEndCatch) |
using | RethrowExceptionType = decltype(&detail::dummyRethrowException) |
Variables | |
constexpr size_t | kMaxFrames = 500 |
using folly::exception_tracer::CxaBeginCatchType = typedef decltype(&detail::dummyCxaBeginCatch) |
Definition at line 40 of file ExceptionTracerLib.h.
using folly::exception_tracer::CxaEndCatchType = typedef decltype(&detail::dummyCxaEndCatch) |
Definition at line 42 of file ExceptionTracerLib.h.
using folly::exception_tracer::CxaRethrowType = typedef decltype(&detail::dummyCxaRethrow) |
Definition at line 41 of file ExceptionTracerLib.h.
using folly::exception_tracer::CxaThrowType = typedef decltype(&detail::dummyCxaThrow) |
Definition at line 39 of file ExceptionTracerLib.h.
using folly::exception_tracer::RethrowExceptionType = typedef decltype(&detail::dummyRethrowException) |
Definition at line 43 of file ExceptionTracerLib.h.
std::vector< ExceptionInfo > folly::exception_tracer::getCurrentExceptions | ( | ) |
Get current exceptions being handled. front() is the most recent exception. There should be at most one unless rethrowing.
Definition at line 112 of file ExceptionTracer.cpp.
References __cxxabiv1::__cxa_get_globals(), folly::exception_tracer::StackTrace::addresses, __cxxabiv1::__cxa_eh_globals::caughtExceptions, folly::demangle(), folly::DFATAL, folly::exception_tracer::StackTrace::frameCount, folly::exception_tracer::ExceptionInfo::frames, getExceptionStackTraceStack(), deadlock::info(), folly::gen::move, folly::exception_tracer::StackTraceStack::next(), prefix(), folly::exception_tracer::StackTraceStack::top(), folly::exception_tracer::ExceptionInfo::type, and folly::WARNING.
Referenced by dumpExceptions(), and loop().
CallbackHolder< CxaBeginCatchType>& folly::exception_tracer::getCxaBeginCatchCallbacks | ( | ) |
Definition at line 81 of file ExceptionTracerLib.cpp.
Referenced by __cxxabiv1::__cxa_begin_catch().
CallbackHolder< CxaEndCatchType>& folly::exception_tracer::getCxaEndCatchCallbacks | ( | ) |
Definition at line 83 of file ExceptionTracerLib.cpp.
Referenced by __cxxabiv1::__cxa_end_catch().
CallbackHolder< CxaRethrowType>& folly::exception_tracer::getCxaRethrowCallbacks | ( | ) |
Definition at line 82 of file ExceptionTracerLib.cpp.
Referenced by __cxxabiv1::__cxa_rethrow().
CallbackHolder< CxaThrowType>& folly::exception_tracer::getCxaThrowCallbacks | ( | ) |
std::vector< ExceptionStats > folly::exception_tracer::getExceptionStatistics | ( | ) |
This function accumulates exception throwing statistics across all threads. Please note, that during call to this function, other threads might block on exception throws, so it should be called seldomly. All pef-thread statistics is being reset by the call.
Definition at line 67 of file ExceptionCounterLib.cpp.
References folly::exception_tracer::ExceptionStats::count, folly::gen::move, and folly::detail::rhs.
Referenced by TEST().
CallbackHolder< RethrowExceptionType>& folly::exception_tracer::getRethrowExceptionCallbacks | ( | ) |
void folly::exception_tracer::installHandlers | ( | ) |
Install the terminate / unexpected handlers to dump exceptions.
Definition at line 212 of file ExceptionTracer.cpp.
Referenced by getExceptionStackTraceStack().
std::ostream & folly::exception_tracer::operator<< | ( | std::ostream & | out, |
const ExceptionInfo & | info | ||
) |
Definition at line 48 of file ExceptionTracer.cpp.
References printExceptionInfo().
std::ostream & folly::exception_tracer::operator<< | ( | std::ostream & | out, |
const ExceptionStats & | stats | ||
) |
Definition at line 89 of file ExceptionCounterLib.cpp.
References folly::exception_tracer::ExceptionStats::count, folly::exception_tracer::ExceptionInfo::frames, folly::symbolizer::getStackTrace(), folly::hash::SpookyHashV2::Hash64(), folly::exception_tracer::ExceptionStats::info, deadlock::info(), kMaxFrames, folly::gen::move, folly::pushmi::__adl::noexcept(), registerCxaThrowCallback(), and folly::exception_tracer::ExceptionInfo::type.
void folly::exception_tracer::printExceptionInfo | ( | std::ostream & | out, |
const ExceptionInfo & | info, | ||
int | options | ||
) |
Definition at line 53 of file ExceptionTracer.cpp.
References folly::demangle(), folly::exceptionStr(), folly::exception_tracer::ExceptionInfo::frames, folly::exception_tracer::ExceptionInfo::type, uint64_t, and __cxxabiv1::__cxa_exception::unwindHeader.
Referenced by operator<<().
void folly::exception_tracer::registerCxaBeginCatchCallback | ( | CxaBeginCatchType | callback | ) |
Definition at line 81 of file ExceptionTracerLib.cpp.
Referenced by getExceptionStackTraceStack().
void folly::exception_tracer::registerCxaEndCatchCallback | ( | CxaEndCatchType | callback | ) |
Definition at line 83 of file ExceptionTracerLib.cpp.
Referenced by getExceptionStackTraceStack().
void folly::exception_tracer::registerCxaRethrowCallback | ( | CxaRethrowType | callback | ) |
Definition at line 82 of file ExceptionTracerLib.cpp.
Referenced by getExceptionStackTraceStack().
void folly::exception_tracer::registerCxaThrowCallback | ( | CxaThrowType | callback | ) |
Definition at line 80 of file ExceptionTracerLib.cpp.
Referenced by getExceptionStackTraceStack(), and operator<<().
void folly::exception_tracer::registerRethrowExceptionCallback | ( | RethrowExceptionType | callback | ) |
Definition at line 84 of file ExceptionTracerLib.cpp.
Referenced by getExceptionStackTraceStack().
constexpr size_t folly::exception_tracer::kMaxFrames = 500 |
Definition at line 26 of file StackTrace.h.
Referenced by operator<<(), and folly::exception_tracer::StackTraceStack::pushCurrent().