[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#530409: ITP: libunwind -- efficient C call-chain interface



Package: wnpp
Owner: Monty Taylor <mordred@inaugust.com>
Severity: wishlist

* Package name    : libunwind
  Version         : 0.99
  Upstream Author : David Mosberger <dmosberger@gmail.com>
* URL             : http://www.nongnu.org/libunwind/index.html
* License         : MIT
  Programming Lang: C
  Description     : Efficient C call-chain interface

The primary goal of libunwind 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).

Monty Taylor




Reply to: