# libunwind/libunwind

libunwind official github repo (in need of new / additional maintainer, mail/open issue if interested)

Repository: https://github.com/libunwind/libunwind
Canonical: https://ross.abutalabs.com/products/libunwind
Homepage: http://www.nongnu.org/libunwind/
Language: C
License: MIT
License Family: permissive
Last push: 2026-08-20T15:39:50+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 22, longevity 100
- inputs: {"age_days": 3519, "days_push": 13, "days_rel": 363, "gap_med": 104, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1250, forks 349 (observed 2026-08-28T04:04:08.050354+00:00)

## What it is
libunwind is a portable C library providing an API to determine and manipulate the call chain (stack frames) of program threads, supporting both local and remote unwinding. It also offers implementations of the Itanium exception handling ABI and an efficient setjmp()/longjmp() alternative.

## Use cases
- generate backtraces for error reporting in C/C++ programs
- walk the call stack of a remote process for debugging
- analyze coredumps post-mortem
- implement language runtime exception handling
- profile and monitor application performance via stack sampling
- implement fast non-local gotos

## When to choose
- you need stack unwinding on Linux, FreeBSD, QNX, or Solaris across many CPU architectures
- you are building a debugger, profiler, or crash reporter
- you need a portable C API for local or remote call-chain inspection

## When to avoid
- you only need simple backtraces and your platform's libc already provides backtrace()
- you target platforms not in the supported architecture list
- you need a high-level language binding rather than a C API

## Facets
- artifact type: library
- maturity: maintenance
- function: developer-tools, concurrency, security
- domain: developer-tools, operating-systems, performance
- platform: cpp, c, cross-platform, bsd, windows
- tags: stack-unwinding, backtrace, call-chain, exception-handling, debuggers, coredump-analysis, elf, setjmp-longjmp, debugging, linux

## Member repositories
- libunwind/libunwind (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:08.050354+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:07:44.681357+00:00, confidence not recorded.
  - readme: https://github.com/libunwind/libunwind (fetched 2026-08-28T04:04:08.050354+00:00, sha 4badc6a7eb0e)
  - homepage: http://www.nongnu.org/libunwind/ (fetched 2026-08-29T12:18:35.517159+00:00, sha e8b8000f4d9d)
  - site_page: http://www.nongnu.org/libunwind/docs.html (fetched 2026-08-29T12:18:35.525967+00:00, sha f2f1ed51dbe1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
