Update README
This commit is contained in:
parent
f21874cbf7
commit
f4cf8c198b
21
README.md
21
README.md
@ -560,12 +560,21 @@ To static link the library set `-DCPPTRACE_STATIC=On`.
|
|||||||
|
|
||||||
## Library Internals
|
## Library Internals
|
||||||
|
|
||||||
Cpptrace supports a number of back-ends and middle-ends to produce stack traces. Stack traces are produced in roughly
|
Cpptrace supports a number of back-ends to produce stack traces. Stack traces are produced in roughly three steps:
|
||||||
three steps: Unwinding, symbol resolution, and demangling. Cpptrace by default on linux / macos will generate traces
|
Unwinding, symbol resolution, and demangling.
|
||||||
with `_Unwind_Backtrace`, libdwarf, and `__cxa_demangle`. On windows traces are generated by default with `StackWalk64`
|
|
||||||
and dbghelp.h (no demangling is needed with dbghelp). Under mingw libdwarf and dbghelp.h are used, along with
|
The library's CMake automatically configures itself for what your system supports. The ideal configuration is as
|
||||||
`__cxa_demangle`. Support for these is the main focus of cpptrace and they should work well. If you want to use a
|
follows:
|
||||||
different back-end such as addr2line, however, you can configure the library to do so.
|
|
||||||
|
| Platform | Unwinding | Symbols | Demangling |
|
||||||
|
| -------- | ------------- | ------------------ | -------------------- |
|
||||||
|
| Linux | `_Unwind` | libdwarf | cxxabi.h |
|
||||||
|
| MacOS | `_Unwind` | libdwarf | cxxabi.h |
|
||||||
|
| Windows | `StackWalk64` | dbghelp | No demangling needed |
|
||||||
|
| MinGW | `StackWalk64` | libdwarf + dbghelp | cxxabi.h |
|
||||||
|
|
||||||
|
Support for these back-ends is the main development focus and they should work well. If you want to use a different
|
||||||
|
back-end such as addr2line, for example, you can configure the library to do so.
|
||||||
|
|
||||||
**Unwinding**
|
**Unwinding**
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user