unwinddump(1)

πŸ“¦ version 957.1, in nixpkgs unstable

πŸ’– unwinddump(1) β€” General Commands Manual, but make it cute πŸ’–

okay bestie, welcome to the unwinddump(1) page from the General Commands Manual. We're about to get into compact unwind information, and honestly it's giving "niche Unix lore that slaps." πŸ’…βœ¨


🌸 NAME 🌸

unwinddump β€” Displays compact unwind information in an executable. That's the whole name moment, no cap. 🫢

✨ SYNOPSIS ✨

unwinddump [-arch arch-name] file(s)

So yeah, that's -arch arch-name right there in the brackets, and then file(s) β€” copied exactly, bestie, we do not play games with the synopsis. πŸŽ€

πŸ’– DESCRIPTION πŸ’–

Okay so picture this: when a C++ (or x86_64 Objective-C) exception is thrown, the runtime must unwind the stack looking for some function to catch the exception. Very main-character energy for the stack, honestly. πŸ˜­πŸ’…

Traditionally, the unwind information is stored in the __TEXT/__eh_frame section of each executable as Dwarf CFI (call frame information). Yes, Dwarf CFI β€” not a fantasy creature, just call frame information. 🧚✨

Beginning in Mac OS X 10.6, the unwind information is also encoded in the __TEXT/__unwind_info section using a two-level lookup table of compact unwind encodings. The way that's a two-level lookup table? Obsessed. πŸ”₯πŸ‘‘

The unwinddump tool displays the content of the __TEXT/__unwind_info section. That's it, that's the job. Iconic behavior, fr fr. 🌈

πŸ¦‹ SEE ALSO πŸ¦‹

Go give these other manuals a little visit too, iykyk. πŸ’œ


Signed, sealed, delivered by Darwin β€” November 7, 2008. Bye bestie, stay unwound! πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from