Skip to content

Commit aad6b93

Browse files
committed
Extended readme
1 parent 5db0034 commit aad6b93

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

README.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,28 @@
11
# Welcome to the CallstackLibrary!
2-
This is a library creating humanreadable callstacks by parsing the debug symbols of
3-
the executable, if they are available. Otherwise, the dynamic linker information is used.
2+
This repository contains a library which can create human readable callstacks. It features a C API, but
3+
there is also a C++ wrapper for it.
44

55
## Usage
6-
_Coming soon!_
6+
In order to get started, you can either download a compiled version of the library [here](https://www.github.com/mhahnFr/CallstackLibrary/releases).
7+
Alternatively, you can also build it from source:
8+
- Clone the repository: ``git clone https://www.github.com/mhahnFr/CallstackLibrary``
9+
- and build the library: ``cd CallstackLibrary && make``.
10+
11+
On some systems, you might need to install the ``libexecinfo-dev`` to compile the library successfully.
12+
If this is the case, add ``-lexecinfo`` to the linking flags.
13+
14+
In order to use this library, simply include the header [``callstack.h``](https://www.github.com/mhahnFr/CallstackLibrary/blob/main/include/callstack.h).
15+
16+
**Linking**:
17+
- On **macOS**, link using these flags: ``-L<path/to/library> -lcallstack``.
18+
- On **Linux**, link with ``-rdynamic -L<path/to/library> -lcallstack -ldl``.
19+
- On **FreeBSD**, link with ``-rdynamic -L<path/to/library> -lcallstack -ldl -lexecinfo``.
20+
21+
The complete set of features is described in the [wiki](https://www.github.com/mhahnFr/CallstackLibrary/wiki).
22+
23+
## Upcoming features
24+
The callstacks are currently created using the informations of the dynamic linker.
25+
In the future, parsing of the debug symbols will be added.
726

827
### Final notes
928
This library is licensed under the terms of the GPL 3.0.

0 commit comments

Comments
 (0)