![]() |
Home | Libraries | People | FAQ | More |
boost::stacktrace::basic_stacktrace
// In header: <boost/stacktrace/stacktrace.hpp> template<typename Allocator> class basic_stacktrace { public: // types typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; typedef boost::stacktrace::frame, Allocator >:: ; // public member functions () ; (const ) ; (, , const = ) ; (const basic_stacktrace &); basic_stacktrace & (const basic_stacktrace &); ~(); (basic_stacktrace &&) ; basic_stacktrace & (basic_stacktrace &&) ; () ; () ; () ; () ; () ; () ; () ; () ; () ; () ; constexpr () ; bool () ; const boost::stacktrace::frame, Allocator > & () ; // public static functions template<typename Char, typename Trait> basic_stacktrace (Char, Trait > &, const = ); basic_stacktrace (const void *, , const = ); basic_stacktrace< Allocator > (const = ) ; };
Class that on construction copies minimal information about call stack into its internals and provides access to that information.
basic_stacktrace
public member functions() ;Stores the current function call sequence inside *this without any decoding or any other heavy platform specific operations.
Complexity: O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.
Async-Handler-Safety: Theoretically async signal safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.
(const a) ;Stores the current function call sequence inside *this without any decoding or any other heavy platform specific operations.
Complexity: O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.
Async-Handler-Safety: Theoretically async signal safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.
Parameters: |
|
( skip, max_depth, const a = ) ;Stores [skip, skip + max_depth) of the current function call sequence inside *this without any decoding or any other heavy platform specific operations.
Complexity: O(N) where N is call sequence length, O(1) if BOOST_STACKTRACE_USE_NOOP is defined.
Async-Handler-Safety: Theoretically async signal safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.
Parameters: |
|
||||||
Throws: |
Nothing. Note that default construction of allocator may throw, however it is performed outside the constructor and exception in allocator_type() would not result in calling std::terminate . |
(const basic_stacktrace & st);
Complexity: O(st.size())
Async-Handler-Safety: Theoretically async signal safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.
basic_stacktrace & (const basic_stacktrace & st);
Complexity: O(st.size())
Async-Handler-Safety: Theoretically async signal safe if Allocator construction, copying, Allocator::allocate and Allocator::deallocate are async signal safe.
~();
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe if Allocator::deallocate is async signal safe.
(basic_stacktrace && st) ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe if Allocator construction and copying are async signal safe.
basic_stacktrace & (basic_stacktrace && st) ;
Complexity: O(st.size())
Async-Handler-Safety: Theoretically async signal safe if Allocator construction and copying are async signal safe.
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
Returns: |
Number of function names stored inside the class. |
( frame_no) ;
Complexity: O(1).
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
() ;
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
constexpr () ;Allows to check that stack trace capturing was successful.
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
Returns: |
|
bool () ;Allows to check that stack trace failed.
Complexity: O(1)
Async-Handler-Safety: Theoretically async signal safe .
Returns: |
|
const boost::stacktrace::frame, Allocator > & () ;
basic_stacktrace
public static functionstemplate<typename Char, typename Trait> basic_stacktrace (Char, Trait > & in, const a = );
Constructs stacktrace from basic_istreamable that references the dumped stacktrace. Terminating zero frame is discarded.
Complexity: O(N)
basic_stacktrace (const void * begin, buffer_size_in_bytes, const a = );
Constructs stacktrace from raw memory dump. Terminating zero frame is discarded.
Complexity: O(size) in worst case
Parameters: |
|
basic_stacktrace< Allocator > (const alloc = ) ;
Returns a basic_stacktrace object containing a stacktrace captured at the point where the currently handled exception was thrown by its initial throw-expression (i.e. not a rethrow), or an empty basic_stacktrace object if:
the boost_stacktrace_from_exception
library is not linked to the current binary, or
the initialization of stacktrace failed, or
stacktrace captures are not enabled for the throwing thread, or
no exception is being handled, or
due to implementation-defined reasons.
alloc
is passed to the constructor of the stacktrace object. Rethrowing an exception using a throw-expression with no operand does not alter the captured stacktrace.
Implements https://wg21.link/p2370r1