diff --git a/boost/stacktrace/stacktrace.html b/boost/stacktrace/stacktrace.html index 7cac170..b11851e 100644 --- a/boost/stacktrace/stacktrace.html +++ b/boost/stacktrace/stacktrace.html @@ -34,44 +34,44 @@ class stacktrace { public: // construct/copy/destruct - stacktrace() noexcept; - stacktrace(const stacktrace &) noexcept; - stacktrace & operator=(const stacktrace &) noexcept; - ~stacktrace(); + stacktrace() noexcept; + stacktrace(const stacktrace &) noexcept; + stacktrace & operator=(const stacktrace &) noexcept; + ~stacktrace(); - // public member functions - std::size_t size() const noexcept; - std::string operator[](std::size_t) const; - bool operator!() const noexcept; + // public member functions + std::size_t size() const noexcept; + std::string operator[](std::size_t) const; + bool operator!() const noexcept; };
stacktrace
public
construct/copy/destructstacktrace() noexcept;Stores the current function call sequence inside the class.
Complexity: O(N) where N is call seaquence length, O(1) for noop backend.
+stacktrace() noexcept;Stores the current function call sequence inside the class.
Complexity: O(N) where N is call seaquence length, O(1) for noop backend.
stacktrace(const stacktrace & bt) noexcept;+
stacktrace(const stacktrace & bt) noexcept;Complexity: O(1)
stacktrace & operator=(const stacktrace & bt) noexcept;+
stacktrace & operator=(const stacktrace & bt) noexcept;Complexity: O(1)
~stacktrace();+
~stacktrace();Complexity: O(N) for libunwind, O(1) for other backends.
![]() |
+Home | +Libraries | +People | +FAQ | +More | +
+ By default Boost.Stacktrace is a header-only library and it attempts to detect + the tracing backend automatically. +
++ You can define the following macros to explicitly specify backend that you're + willing to use in header-only mode (those macros have no effect if defined + BOOST_STACKTRACE_LINK or BOOST_STACKTRACE_DYN_LINK): +
+Table 1.1. Header only backend specifications
+|
+ + Macro name + + |
+
+ + Effect + + |
+
+ + Platforms + + |
+
+ + Uses debug information [a] + + |
+
+ + Uses dynamic exports information [b] + + |
+
|---|---|---|---|---|
|
+ + BOOST_STACKTRACE_USE_LIBUNWIND + + |
+
+ + Use libunwind tracing backend. This is the best known backend for + POSIX systems that requires linking with libunwind library. + + |
+
+ + POSIX + + |
+
+ + yes + + |
+
+ + yes + + |
+
|
+ + BOOST_STACKTRACE_USE_WINDBG + + |
+
+ + Use Windows specific tracing backend that uses DbgHelp. This is the + best and only known backend for Windows platform that requires linking + with DbgHelp library. + + |
+
+ + Windows + + |
+
+ + yes + + |
+
+ + yes + + |
+
|
+ + BOOST_STACKTRACE_USE_BACKTRACE + + |
+
+ + Use tracing backend that calls POSIX function backtrace. This is + a fallback backend for POSIX platforms that requires linking with + libdl library. + + |
+
+ + POSIX + + |
+
+ + no + + |
+
+ + yes + + |
+
|
+ + BOOST_STACKTRACE_USE_NOOP + + |
+
+ + Use noop tracing backend that does nothing. Use this backend if you + wish to disable backtracing. + + |
+
+ + POSIX and Windows + + |
+
+ + no + + |
+
+ + no + + |
+
|
+ [a] + This will provide more readable backtraces if the binary is build + with debug information. + [b] + This will provide readable function names in backtrace for functions + that are exported by the binary. + | ||||
+ You may use following macro to improve build times or to be able to switch + backends without recompiling your project: +
+Table 1.2. Link macros
+|
+ + Macro name + + |
+
+ + Effect + + |
+
|---|---|
|
+ + BOOST_STACKTRACE_LINK + + |
+
+ + Disable header-only build and require linking with shared or static + library that has contains the tracing backend. If BOOST_ALL_DYN_LINK + is defined - link with shared library. + + |
+
|
+ + BOOST_STACKTRACE_DYN_LINK + + |
+
+ + Disable header-only build and require linking with shared library + that has contains tracing backend. + + |
+
+ If one of the link macros defined you have to manually link your binary with + one of the libraries that has the backend implementation: +
+| + | + |
+ At some point arises a requirement to easily enable/disable stacktraces for + a whole project. That could be easily achived. +
++ Just define BOOST_STACKTRACE_LINK for a + whole project. Now you can enable/disable stacktraces by just linking with + different backends: +
+boost_stacktrace_noop
+ to disable backtracing
+ + See section "Build, + Macros and Backends" for more info. +
+| @@ -292,7 +322,7 @@ |