Update readme and bump instructions to v0.2.0-beta
This commit is contained in:
parent
2324563290
commit
216246332c
40
README.md
40
README.md
@ -10,12 +10,6 @@
|
|||||||
Cpptrace is a lightweight C++ stacktrace library supporting C++11 and greater on Linux, macOS, and Windows including
|
Cpptrace is a lightweight C++ stacktrace library supporting C++11 and greater on Linux, macOS, and Windows including
|
||||||
MinGW and Cygwin environments. The goal: Make stack traces simple for once.
|
MinGW and Cygwin environments. The goal: Make stack traces simple for once.
|
||||||
|
|
||||||
Some day C++23's `<stacktrace>` will be ubiquitous. And maybe one day the msvc implementation will be acceptable.
|
|
||||||
|
|
||||||
This library is in beta, if you run into any problems please open an [issue][issue]!
|
|
||||||
|
|
||||||
[issue]: https://github.com/jeremy-rifkin/cpptrace/issues
|
|
||||||
|
|
||||||
## Table of Contents <!-- omit in toc -->
|
## Table of Contents <!-- omit in toc -->
|
||||||
|
|
||||||
- [30-Second Overview](#30-second-overview)
|
- [30-Second Overview](#30-second-overview)
|
||||||
@ -24,6 +18,8 @@ This library is in beta, if you run into any problems please open an [issue][iss
|
|||||||
- [API](#api)
|
- [API](#api)
|
||||||
- [Notable Library Configurations](#notable-library-configurations)
|
- [Notable Library Configurations](#notable-library-configurations)
|
||||||
- [Notes About the Library and Future Work](#notes-about-the-library-and-future-work)
|
- [Notes About the Library and Future Work](#notes-about-the-library-and-future-work)
|
||||||
|
- [FAQ: What about C++23 `<stacktrace>`?](#faq-what-about-c23-stacktrace)
|
||||||
|
- [Supported Debug Symbols](#supported-debug-symbols)
|
||||||
- [Usage](#usage)
|
- [Usage](#usage)
|
||||||
- [CMake FetchContent](#cmake-fetchcontent)
|
- [CMake FetchContent](#cmake-fetchcontent)
|
||||||
- [System-Wide Installation](#system-wide-installation)
|
- [System-Wide Installation](#system-wide-installation)
|
||||||
@ -85,7 +81,7 @@ include(FetchContent)
|
|||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
cpptrace
|
cpptrace
|
||||||
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
|
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
|
||||||
GIT_TAG v0.1.1 # <HASH or TAG>
|
GIT_TAG v0.2.0-beta # <HASH or TAG>
|
||||||
)
|
)
|
||||||
FetchContent_MakeAvailable(cpptrace)
|
FetchContent_MakeAvailable(cpptrace)
|
||||||
target_link_libraries(your_target cpptrace)
|
target_link_libraries(your_target cpptrace)
|
||||||
@ -238,6 +234,28 @@ A couple things I'd like to fix in the future:
|
|||||||
the call instruction. Execinfo suffers from the same problem, but libgcc's `_Unwind` provides a means to detect this.
|
the call instruction. Execinfo suffers from the same problem, but libgcc's `_Unwind` provides a means to detect this.
|
||||||
I would like to find a solution on windows so stack traces are more accurate.
|
I would like to find a solution on windows so stack traces are more accurate.
|
||||||
|
|
||||||
|
### FAQ: What about C++23 `<stacktrace>`?
|
||||||
|
|
||||||
|
Some day C++23's `<stacktrace>` will be ubiquitous. And maybe one day the msvc implementation will be acceptable.
|
||||||
|
The main motivation for this library was The original motivation for cpptrace was to support projects using older C++
|
||||||
|
standards and as the library has grown its functionality has extended beyond the standard library's implementation.
|
||||||
|
|
||||||
|
Plenty of additional functionality is planned too, such as stack tracing from signal handlers, stack tracing other
|
||||||
|
threads, and generating lightweight stack traces on embedded devices that can be resolved either on embedded or on
|
||||||
|
another system (this is theoretically possible currently but untested).
|
||||||
|
|
||||||
|
## Supported Debug Symbols
|
||||||
|
|
||||||
|
| Format | Supported |
|
||||||
|
| ------------------------------------------------ | --------- |
|
||||||
|
| DWARF in binary | ✔️ |
|
||||||
|
| DWARF in separate binary (binary gnu debug link) | Not yet |
|
||||||
|
| DWARF in separate binary (split dwarf) | Not yet |
|
||||||
|
| DWARF in dSYM | ✔️ |
|
||||||
|
| DWARF in via Mach-O debug map | Not yet |
|
||||||
|
| Windows debug symbols in PE | Untested |
|
||||||
|
| Windows debug symbols in PDB | ✔️ |
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### CMake FetchContent
|
### CMake FetchContent
|
||||||
@ -249,7 +267,7 @@ include(FetchContent)
|
|||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
cpptrace
|
cpptrace
|
||||||
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
|
GIT_REPOSITORY https://github.com/jeremy-rifkin/cpptrace.git
|
||||||
GIT_TAG v0.1.1 # <HASH or TAG>
|
GIT_TAG v0.2.0-beta # <HASH or TAG>
|
||||||
)
|
)
|
||||||
FetchContent_MakeAvailable(cpptrace)
|
FetchContent_MakeAvailable(cpptrace)
|
||||||
target_link_libraries(your_target cpptrace)
|
target_link_libraries(your_target cpptrace)
|
||||||
@ -265,7 +283,7 @@ information.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/jeremy-rifkin/cpptrace.git
|
git clone https://github.com/jeremy-rifkin/cpptrace.git
|
||||||
git checkout v0.1.1
|
git checkout v0.2.0-beta
|
||||||
mkdir cpptrace/build
|
mkdir cpptrace/build
|
||||||
cd cpptrace/build
|
cd cpptrace/build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
@ -301,7 +319,7 @@ you when installing new libraries.
|
|||||||
|
|
||||||
```ps1
|
```ps1
|
||||||
git clone https://github.com/jeremy-rifkin/cpptrace.git
|
git clone https://github.com/jeremy-rifkin/cpptrace.git
|
||||||
git checkout v0.1.1
|
git checkout v0.2.0-beta
|
||||||
mkdir cpptrace/build
|
mkdir cpptrace/build
|
||||||
cd cpptrace/build
|
cd cpptrace/build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
@ -319,7 +337,7 @@ To install just for the local user (or any custom prefix):
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/jeremy-rifkin/cpptrace.git
|
git clone https://github.com/jeremy-rifkin/cpptrace.git
|
||||||
git checkout v0.1.1
|
git checkout v0.2.0-beta
|
||||||
mkdir cpptrace/build
|
mkdir cpptrace/build
|
||||||
cd cpptrace/build
|
cd cpptrace/build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/wherever
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/wherever
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user