Backward Cpp Versions Save

A beautiful stack trace pretty printer for C++

v1.6

2 years ago

Notable additions:

  • RISC-V mcontext.
  • Support for Apple Silicon.
  • libunwind for Linux and macOS.
  • C++17 compatibility.

The rest is all bug fixes.

Summary of changes in no particular order.

Alexey Ochapov (1):

  • 23b9050fc6cbaa3cfd62aa48d360a23629ab2c45 specify that variable values in stacktraces are not supported currently

Andreas Schwab (1):

  • f5f329ff8255bbf111b774c494b96b8408b0d640 Add support for RISC-V mcontext

Anonymous Maarten (4):

  • 7272606bc8aa6e24650f7cf85fc3f38be362bb60 Use lowercased Windows SDK headers
  • ee814f12b8a742aa84789aeeda1c0661195a7c48 Only define NOMINMAX if not defined already
  • 8bf0e1ce1aa939348c954b3cb0cf037a585984df Only do '#pragma comment(lib, "xxx.lib")' on MSVC
  • 146e2edaac9fad6910e4c337b540cab01d1a072f cmake: link to dbghelp, psapi and msvcr90 on mingw

Brad Tighe (1):

  • 032207fcb943bd80067021ab862929ad9b6ea68e fix #208. TraceResolverImpl<system_tag::windows_tag> does not inherit from a base class, but as of #162 the resolve method is marked override, causing a compiler error.

Christophe Bedard (3):

  • 2c9d878108649eaf360e7eaf0351d750c3d88760 Fix unushed parameter warnings
  • 9e20b2e70ba47851db6a2afe7837b2b88309b40d Add empty virtual destructor to TraceResolverImplBase base class
  • bfa0c9b5b54f43528538e3e56d857ef4b545fc08 Fix NAME_MISMATCHED arg error on CMake>=3.17

Emre Ataseven (1):

  • 9f49ea34e1fa3071bb502c29b51a0f55d34b4b73 fix typo in variable name

François-Xavier Bourlet (30):

  • 29e4061494e1ac4e40b2b09fd3e35c310ca137fc clang-format
  • e82d10769d880c442d3d49ccf87ddfd76f8033ee Remove outdated build status badge
  • f6f7253656159f225b88e03d38b2dec52f1e6258 Typo #elif -> #else

Ilya A. Kriveshko (1):

  • 84b1111aacd14ebd667a90edca250627ee22d5db fix memory leak from demangle

Martin Gerhardy (2):

  • 738e3c6c5ae168dcd7ad387508a42281faa87e46 Fix invalid memset call
  • d1ce8ba04b1ef23acc671746656aadd34f8dbbaf Fixed a few compile errors

Michael Truog (1):

  • 74dd7d6733d1ab6b79994f4acbc1ad86ba950d23 Fix for C++ compilers without C++11

Oliver Old (3):

  • c9f2b47c9b07e564cea757c121f6b7f6e0983f86 Don't pass buffer as format string and free buffer
  • 067fb096726af13c65bf0fe3bd02ab09a15a6e70 Fix wrong condition
  • d34e4601a7424d333e681c0f57436868192c28ca Fix indentation

Pedro Navarro (3):

  • ca5480c220d461d8b4c3d04595718dc6a95402e0 Fix rare crash when looking for a function name
  • 6084a394a51935a115ecd9cb106f469b9c70a3f2 DW_AT_call_file is an unsigned value
  • a8a2efdeb9fe7ce72520d7e6db22032b06559f6c Added libunwind support to Linux and macOS

Philip Rader (1):

  • 72970bfb17a8171211f7b5d300db844c2507a36a Add support for Apple Silicon

Przemyslaw Olejniczak (1):

  • 4f1a69110957942cae704543667b0cb0431cf1e9 MSVC: does not compile with Unicode/Multi-Byte character set

Tomislav Zubcic (1):

  • f7ad5142e1dee10065ca2bd23fbd585400d56fc9 Fix compilation issue on windows.

Vladislav Shpilevoy (3):

  • 220eda3565b3320d71c4d9ae9734a3a0621b4f92 Introduce TraceResolver::load_addresses() for raw address array
  • a9b2ab504c5d7a2265302f8a76b1fe431035ff02 Make bfd_fileobject accessed by pointer
  • f09389529da71b0f6f89cafd982c809e9eb5de0f Use /proc/self/exe as the last resort for libbfd

c99 (2):

  • 42df989165f28fe4fe788363a0750b6745eeb2ba Add for std::back_inserter
  • 5d1d61059e1727a7102f9641c970ff06bc5b1aed Fix printing stack trace under Windows.

hshakula (1):

  • 0b4483f8e2143e35bc157d7bf76bcbdd063a2553 Fix compilation error with C++17 compiler

rulerOfTheHuns (1):

  • 04efb6f55da72a7dfccb5ea76140a8b5e4e1095a fix output on windows #204

tomdov (1):

  • 10c8df5c0044fc7e7af289e2e64977f9543acb0a size() may return negative number

xgdgsc (2):

  • 643bccca4c916eabe25dc1e056e90dff54acda05 add note for folly users
  • 09059927fadc20e19c1934d597659f1f34413b0f fix #188. Cmake warning on find_package(Backward).

v1.5

4 years ago

Summary of changes in no particular order.

Arnaud Botella (1):

  Update BackwardConfig.cmake

David P. Sicilia (5):

  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.

Evan Klitzke (2):

  fix a memory leak when __cxa_demangle reallocs
  fix bad pointer comparison in libdwarf backend

Forrest Voight (3):

  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:

Jiaxun Yang (1):

  Add mips support

John Salmon (2):

  Improve portability to non-glibc Linux systems
  StackTraceImpl::operator[] is const

Marco Magdy (2):

  Add missing ref qualifier
  squash! Add missing ref qualifier to the other overload

Michael Truog (2):

  Fix compilation for GCC (tested with 5.4.0)
  Fix for binutils 2.34

Michal Rostecki (1):

  cmake: Use GNUInstallDirs for libdir and includedir

Nikos Skalkotos (1):

  Fix unknown pragma warning in gcc

Pierre Kestener (3):

  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

Zsolt Parragi (4):

  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

v1.4

5 years ago

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.

v1.3

7 years ago

v1.2

7 years ago

v1.1

7 years ago