1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
freebsd-ports/devel/libunwind/pkg-descr
Eitan Adler d1f32a3e5d Style: tab -> space.
Most contributors copy an existing port when writing their own so reduce the number of bad examples in the tree.
2013-03-28 16:28:59 +00:00

25 lines
1.2 KiB
Plaintext

The primary goal of this project is to define a portable and efficient
C programming interface (API) to determine the call-chain of a program.
The API additionally provides the means to manipulate the preserved
(callee-saved) state of each call-frame and to resume execution at any
point in the call-chain (non-local goto). The API supports both local
(same-process) and remote (across-process) operation. As such, the API
is useful in a number of applications. Some examples include:
o exception handling
The libunwind API makes it trivial to implement the stack-manipulation
aspects of exception handling.
o debuggers
The libunwind API makes it trivial for debuggers to generate
the call-chain (backtrace) of the threads in a running program.
o introspection
It is often useful for a running thread to determine its call-chain.
For example, this is useful to display error messages (to show how
the error came about) and for performance monitoring/analysis.
o efficient setjmp()
With libunwind, it is possible to implement an extremely efficient
version of setjmp(). Effectively, the only context that needs to be
saved consists of the stack-pointer(s).
WWW: http://www.nongnu.org/libunwind/