A beautiful stack trace pretty printer for C++
Notable additions:
libunwind
for Linux and macOS.The rest is all bug fixes.
Summary of changes in no particular order.
Summary of changes in no particular order.
Update BackwardConfig.cmake
Allow specifying list of source file search paths in environment variable.
This is useful for binaries (using backward-cpp) that are built with
relative source file paths. In such a situation, backward-cpp will
generally not be able to locate the source files. This change allows
the user to specify a delimited list of search paths in the following
environment variable: BACKWARD_CXX_SOURCE_PREFIXES
The paths are separated by semicolons on Windows and colons otherwise.
When the environment variable is set, those search paths will be tried
first. If they do not yield any valid files then backward-cpp will
fall back to current behavior.
Address some reviewer comments:
Use const char[] for delimiter string instead of macro.
Put delimiter string into `backward::details` namespace.
fix a memory leak when __cxa_demangle reallocs
fix bad pointer comparison in libdwarf backend
Extracted duplicated code for `get_argv0` and `read_symlink`
Handle executable being deleted or replaced by directly opening `/proc/self/exe` rather than file it links to. Fixes issue #146.
Call std::getline with an lvalue std::ifstream rather than an rvalue. Older libstdc++ versions (e.g. 4.8.2) don't have the rvalue overload of std::getline. This fixes this error when compiled with libstdc++ 4.8.2:
Add mips support
Improve portability to non-glibc Linux systems
StackTraceImpl::operator[] is const
Add missing ref qualifier
squash! Add missing ref qualifier to the other overload
Fix compilation for GCC (tested with 5.4.0)
Fix for binutils 2.34
cmake: Use GNUInstallDirs for libdir and includedir
Fix unknown pragma warning in gcc
check if compiler is nvcc/nvcc_wrapper to trigger off cxx gnu extensions and pedantic error flags
Merge branch 'master' of https://github.com/bombela/backward-cpp into nvcc_wrapper
make sure to detect nvcc compiler even if used embedded in mpi compiler wrapper
Build tests by default when backward is a top level project
Use a macro instead of direct noinline attributes.
Making tests less platform dependent.
Windows (Clang9, MSVC2017) implementation
A bunch of updates, like better supports for cmake and conan. Small bug fixes. Various performance improvement. Support of ostream. Compilation with all sort of pedantic option turned on.