Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
L

libunwind

> 编程语言
Open source

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

1.2K stars0 likes0 views
WebsiteGitHub

About

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

libunwind

libunwind is a portable and efficient C API for determining the current call chain of ELF program threads of execution and for resuming execution at any point in that call chain. The API supports both local (same process) and remote (other process) operation.

The API is useful in a number of applications, including but not limited to the following.

  • program introspection Either for error messages showing a back trace of the call chain leading to a problem or for performance monitoring and analysis.
  • debugging Whether the debugging and analysis of the call chain of a remote program or the post-mortem analysis of a coredump.
  • language runtime exception handling libunwind optionally provides an alternative implementation of the Itanium exception handling ABI used by many popular toolchains.
  • alternative setjmp()/longjmp() libunwind optionally provides an alternative implementation of the setjmp()/longjmp() functionality of the C standard library.

Supported Systems

This library supports several architecture/operating-system combinations:

System Architecture Status
Linux x86-64 ✓
Linux x86 ✓
Linux ARM ✓
Linux AArch64 ✓
Linux Alpha ✓
Linux PPC32 ✓
Linux PPC64 ✓
Linux PPC64LE ✓
Linux s390x ✓
Linux SPARC64 ✓
Linux SuperH ✓
Linux IA-64 ✓
Linux PA-RISC Works well, but C library missing unwind-info
Linux MIPS ✓
Linux RISC-V ✓
Linux LoongArch 64-bit only
HP-UX IA-64 Mostly works, but known to have serious limitations
FreeBSD x86-64 ✓
FreeBSD x86 ✓
FreeBSD AArch64 ✓
FreeBSD PPC32 ✓
FreeBSD PPC64 ✓
FreeBSD RISC-V ✓
QNX Aarch64 ✓
QNX x86-64 ✓
Solaris x86-64 ✓

General Build Instructions

This library uses Meson as its build system. It can be built and installed with the following commands:

$ meson setup build --prefix=PREFIX
$ meson compile -C build
$ meson install -C build

where PREFIX is the installation prefix. By default, a prefix of /usr/local is used, such that libunwind.a is installed in /usr/local/lib and unwind.h is installed in /usr/local/include.

Autotools (deprecated)

An Autotools build is still provided, but is deprecated and planned for removal in a future release. New usage should build with Meson instead.

$ autoreconf -i # Needed only for building from git. Depends on libtool.
$ ./configure --prefix=PREFIX
$ make
$ make install

Regression Testing

After building the library, you can run a set of regression tests with:

$ meson test -C build

With Autotools, use make check instead.

Performance Testing

This distribution includes a few simple performance tests which give some idea of the basic cost of various libunwind operations. After building the library, you can run these tests with the following command:

$ meson test -C build --benchmark

With Autotools, run make perf from the tests directory instead.

Contacting the Developers

Please raise issues and pull requests through the GitHub repository: .

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言