|
Tracer
v0.0.1
A platform independant stack trace generator
|
A C / C++ *nix / Windows Stack trace generator.
Full Doxygen documentation: https://mensinda.github.io/tracer/html/index.html
| OS | Status |
|---|---|
| Linux | |
| Windows |
Tracer is written in C++11, but has an integrated C wrapper. All (supported) C++ class objects can be acquired with tr_get<ClassName> functions and must be destroyed with tr_free<ClassName> functions.
All (supported) methodes can then be called with tr_<ClassName>__<functionName>.
The doxygen generated documentation can be found here: https://mensinda.github.io/tracer/html/tracer_8h.html
This will print a stack trace using the default Printer (FancyPrinter) and the default Config (TracerHandler::Config)
or in C:
This will generate the following output for the segFaultTest (in test/segFaultTest):
With this setup it is possible to customize the output and signal handler.
or using C:
It currently does not work on Mac OS because of ASLR. Pull requests are welcome :D
FreeBSD is currently not tested.
| OS | Backend | Type | Status |
|---|---|---|---|
| Windows | WIN32 | TB | :heavy_check_mark: |
| Linux | libunwind | T- | :heavy_check_mark: |
| glibc bactrace | T- | :heavy_check_mark: | |
| libelf / elfutils | -D | :heavy_check_mark: | |
| libbfd / binutils | -D | :heavy_check_mark: | |
| addr2line fallback | -D | :warning: |
Types:
T- Stack trace generator-D Debug information extractorTD BothStatus: