FreeBSD.software
Home/devel/libunwind

libunwind

20250904

Generic stack unwinding library

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: - exception handling The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling. - debuggers The libunwind API makes it trivial for debuggers to generate the call-chain (backtrace) of the threads in a running program. - 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. - 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).

Origin: devel/libunwind
Category: devel
Size: 1.15MiB
License: MIT
Maintainer: sunpoet@FreeBSD.org
Dependencies: 0 packages
Required by: 91 packages
$pkg install libunwind

Required By (91 packages)

More in devel