Commit Graph

694 Commits

Author SHA1 Message Date
Jeremy Rifkin
4354eb21ea
Bump to v0.7.3 2024-11-15 17:42:37 -06:00
Jeremy Rifkin
6945c2167e
Change a return back to an _exit(1). It's not different functionally but I decided it's more clear. 2024-11-15 17:21:22 -06:00
Jeremy Rifkin
d43318aa92
Add cmake export set, fixes #189 2024-11-15 17:14:08 -06:00
Jeremy Rifkin
e10dbf431e
Add a color overload for stacktrace_frame::to_string, fixes #190 2024-11-14 23:54:52 -06:00
Jeremy Rifkin
8866d70a32
Fix bug in signal_demo and add error message on fork failure to signal tracing guide 2024-11-14 22:08:09 -06:00
Jeremy Rifkin
5a9a4f314d
Updating wording and docs arround the safe trace API 2024-11-14 22:07:32 -06:00
Jeremy Rifkin
88df27aa32
Disable a unittest config until a libdwarf bug is fixed 2024-11-14 21:38:49 -06:00
Jeremy Rifkin
bbae57bd22
Fix typo 2024-11-14 21:23:42 -06:00
Jeremy Rifkin
5c9f5150fb
Followup fixes 2024-11-11 22:41:58 -06:00
Jeremy Rifkin
addaf02387
Fix a test issue on MSVC due to TCO 2024-11-11 21:57:04 -06:00
Jeremy Rifkin
855210e624
Resolve msvc warning/error 2024-11-11 21:46:48 -06:00
Jeremy Rifkin
e41f89ee82
Bump libdwarf used in testing due to dwarf 5 bug 2024-11-11 21:37:36 -06:00
Jeremy Rifkin
4cb425fb35
LTO hackery, make unittests pass under LTO, closes #179 2024-11-11 00:05:01 -06:00
Jeremy Rifkin
90da0563f9
Recurse into DW_TAG_lexical_block DIEs while searching for inlining information 2024-11-10 16:09:55 -06:00
Jeremy Rifkin
04b85a0dfa
Refactor auto-config logic out of the main CMakeLists.txt 2024-11-03 18:42:36 -06:00
Jeremy Rifkin
f152788abd
Merge branch 'main' into dev 2024-10-29 22:23:28 -05:00
Pavol Gono
9269a72c54
Fixed compiler warnings and errors under MSYS2+MINGW64 platform. (#186)
Fixed compiler warnings and errors under MSYS2+MINGW64 platform.
2024-10-27 10:30:36 -05:00
mhx
124dba5254
fix: actually use ccache binary returned by find_program (#184)
The original code assumed that if `find_program` found `ccache`, then
`ccache` must be in the `PATH`. However, `find_program` searches in a
lot of different places. This can lead to situations where `ccache` is
found, but the compile will fail because it's not in the path.

This change also uses `CMAKE_XXX_COMPILER_LAUNCHER` instead of
`RULE_LAUNCH_COMPILE`, as the latter is for internal use only per the
CMake docs.
2024-10-20 23:54:50 -05:00
Reimu NotMoe
557a4a6fab
Add missing #include <algorithm> in microfmt.hpp (#183)
This fixes building latest cpptrace in macOS
(https://github.com/jeremy-rifkin/microfmt/issues/1)
2024-10-20 23:52:29 -05:00
Mathias Hasselmann
7a0c6ec78d
Clarify library intro in README (#180)
---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-10-15 23:55:23 -05:00
Jeremy Rifkin
81d4776a22
Differentiate stacktrace_from_current_z_* from the non-z versions in another test so they aren't merged during LTO/ICF, related to #179 2024-10-10 20:03:03 -05:00
Jeremy Rifkin
0d53defcd9
Only do the inline resolution test under libdwarf, #178 2024-10-06 17:16:18 -05:00
Jeremy Rifkin
a1fa0a1b81
Use forward declaration header in object.hpp 2024-10-06 16:50:39 -05:00
Jeremy Rifkin
e89eb61a5f
Bump to v0.7.2 2024-10-06 16:17:36 -05:00
Jeremy Rifkin
2d5842164b
Include info on headers in the readme, and a couple other tweaks 2024-10-06 14:54:58 -05:00
Jeremy Rifkin
0d2cb217bf
Another small readme update 2024-10-06 14:35:54 -05:00
Jeremy Rifkin
daa2c53042
Some readme restructuring 2024-10-06 14:26:05 -05:00
Jeremy Rifkin
757c0f87fe
Quick correction to get_cout 2024-10-06 14:06:52 -05:00
Jeremy Rifkin
4c59e73a01
Split up cpptrace.hpp 2024-10-05 18:01:12 -05:00
Jeremy Rifkin
c95ab97a48
Merge branch 'main' into dev 2024-10-02 20:20:39 -05:00
Patrick Quist
ae86a79f16
getpagesize() was removed from OSX (and posix) (#177) 2024-10-02 20:18:16 -05:00
Sofie
7b2a994559
fix: mangled url for FetchContent in cmake 3.16 (#176)
Fixes #174

Seems to be that older versions of CMake has a tendency to mangle URLs
as per described in https://stackoverflow.com/questions/74996365/
2024-10-02 20:18:16 -05:00
Vittorio Romeo
0ddbbf43cb
Improve compilation times on Windows (#172)
Thank you for the very useful library!

Few improvements:
- Better header hygiene
- Isolate `windows.h` to `.cpp` whenever possible
- Use `WIN32_LEAN_AND_MEAN`
- Remove unused headers

Tested on Windows with 
```
cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 
  -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-ftime-trace -Wall -Wextra -Wpedantic 
  -Wno-ignored-attributes" -DCMAKE_COLOR_DIAGNOSTICS=1 -DCPPTRACE_BUILD_TESTING=1 
  -DCPPTRACE_BUILD_BENCHMARKING=0
```

There's a lot more that can be improved if you are interested.

---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-10-02 10:55:13 -05:00
Patrick Quist
ce8214bb16
getpagesize() was removed from OSX (and posix) (#177) 2024-09-30 00:25:58 -05:00
Sofie
54a3e6fdf7
fix: mangled url for FetchContent in cmake 3.16 (#176)
Fixes #174

Seems to be that older versions of CMake has a tendency to mangle URLs
as per described in https://stackoverflow.com/questions/74996365/
2024-09-17 08:25:23 -05:00
Jeremy Rifkin
06eb15bda6
Some changelog corrections for v0.7.1 2024-09-13 08:21:28 -05:00
Jeremy Rifkin
3890a70cb4
Bump to v0.7.1 2024-09-13 08:19:24 -05:00
Jeremy Rifkin
4ed90c1585
Switch away from FetchContent_Populated, #171 2024-09-13 00:42:17 -05:00
Jeremy Rifkin
142e0b9ea4
Per 0blu's suggestion, use the SymGetLineFromAddr macro instead of SymGetLineFromAddr64 2024-09-13 00:06:05 -05:00
Jeremy Rifkin
d09378c8e8
Use execinfo.h by default for clang/apple clang on macos, #161 2024-09-12 23:56:09 -05:00
Jeremy Rifkin
f9ab949a9e
Bump hard_max_frames to 400 2024-09-12 23:12:11 -05:00
Jeremy Rifkin
4e9f0da95f
Nest microfmt in the cpptrace namespace due to conditionally-enabled C++17 behavior causing ODR issues, related to https://github.com/jeremy-rifkin/libassert/issues/103 2024-09-12 21:06:12 -05:00
Jeremy Rifkin
4f94f20d41
Fix computation of object address for safe object frames. I forgot to do this as part of a528aa8e0b, also related to #104 2024-09-07 12:02:52 -05:00
Jeremy Rifkin
499bea182c
Reduce bazel build to -std=c++11 2024-09-06 17:24:52 -05:00
_BLU
0d89be4fbe
VS2015 fixes (#165)
Fixes the compilation on VS14 / 2015.
2024-09-04 22:32:00 -05:00
Jeremy Rifkin
7fdbbfdf67
Fix compilation on ios (#167)
This aims to address #163
2024-09-04 17:22:32 -05:00
Pavol Gono
26093d5791
MSYS2+MINGW64 platform with libbacktrace (#166)
I've updated cmake conditions, to allow libbacktrace usage under
mingw64. And fixed one compilation issue.
Tested with package
https://packages.msys2.org/package/mingw-w64-x86_64-libbacktrace
with this setup:
```
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCPPTRACE_GET_SYMBOLS_WITH_LIBBACKTRACE=On
```
2024-09-03 19:58:39 -05:00
lzw
f671819510
build: support build with libunwind on osx (#162)
macOS provides a libunwind in SDK, so we can skip the library search
process.

---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-08-30 18:15:38 -05:00
Jeremy Rifkin
231960d472
Merge branch 'main' into dev 2024-08-30 17:18:12 -05:00
Jeremy Rifkin
cf08f2578c
Somehow forgot to commit this 2024-08-29 22:38:50 -05:00