diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2023-09-13 14:04:20 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2023-09-13 14:04:20 +0100 |
commit | 1adcfb1e23467b797c55a01a1da5766fdb0876e0 (patch) | |
tree | c572d5e9e1b8e2ed4bda359154e45a3eadcac4f1 /contrib/backward-cpp/backward.cpp | |
parent | 89f2c5d327ab9f95379de264dd6f1e982087e5a0 (diff) | |
download | rspamd-1adcfb1e23467b797c55a01a1da5766fdb0876e0.tar.gz rspamd-1adcfb1e23467b797c55a01a1da5766fdb0876e0.zip |
[Feature] Use backward-cpp instead of manual libunwind stuff
Diffstat (limited to 'contrib/backward-cpp/backward.cpp')
-rw-r--r-- | contrib/backward-cpp/backward.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/backward-cpp/backward.cpp b/contrib/backward-cpp/backward.cpp new file mode 100644 index 000000000..110441cba --- /dev/null +++ b/contrib/backward-cpp/backward.cpp @@ -0,0 +1,42 @@ +// Pick your poison. +// +// On GNU/Linux, you have few choices to get the most out of your stack trace. +// +// By default you get: +// - object filename +// - function name +// +// In order to add: +// - source filename +// - line and column numbers +// - source code snippet (assuming the file is accessible) + +// Install one of the following libraries then uncomment one of the macro (or +// better, add the detection of the lib and the macro definition in your build +// system) + +// - apt-get install libdw-dev ... +// - g++/clang++ -ldw ... +// #define BACKWARD_HAS_DW 1 + +// - apt-get install binutils-dev ... +// - g++/clang++ -lbfd ... +// #define BACKWARD_HAS_BFD 1 + +// - apt-get install libdwarf-dev ... +// - g++/clang++ -ldwarf ... +// #define BACKWARD_HAS_DWARF 1 + +// Regardless of the library you choose to read the debug information, +// for potentially more detailed stack traces you can use libunwind +// - apt-get install libunwind-dev +// - g++/clang++ -lunwind +// #define BACKWARD_HAS_LIBUNWIND 1 + +#include "backward.hpp" + +namespace backward { + +backward::SignalHandling sh; + +} // namespace backward |