Tag
dwarf
- Aug 10, 2026 DWARF Line Tables and How an Address Becomes a Source Line The line-number program is a bytecode that reconstructs a table of address ranges to file, line, and column, and its sequence structure explains why lookups are not simple binary searches. systems programming
- Jun 26, 2026 Stack Unwinding Without Frame Pointers: Call Frame Information How a debugger or profiler recovers caller frames from a stripped, optimised stack by interpreting DWARF CFI rules instead of walking a saved frame pointer chain. systems programming
- Jun 3, 2026 DWARF Debug Information: Abbreviation Tables and the Line Number State Machine How debug sections compress a typed tree of entries into a byte stream, why attribute forms matter, and how a line table is reconstructed by running a small virtual machine over its opcodes. systems programming
- Apr 26, 2026 Stack Unwinding With and Without Frame Pointers How a profiler recovers a call chain from registers and memory, why omitting frame pointers breaks the cheap method, and what DWARF call-frame information costs instead. performance engineering
- Mar 4, 2026 Frame Pointers, DWARF Call Frame Information, and What Breaks When Both Are Absent Two ways to recover a call stack from a captured instruction pointer, the register and table costs of each, and the failure signatures that make a stack look valid when it is not. observability
- Oct 20, 2025 DWARF Line Tables: Turning an Address into a File and Line The line table is a bytecode program that expands into address ranges, not a list of instructions. How debuggers run it, and why a breakpoint on line 12 lands where it does. developer tools
- Jul 2, 2025 Stack Unwinding and DWARF Call Frame Information How a frame is described by bytecode in .eh_frame, what the unwinder reconstructs at each step, and why a missing unwind table turns an exception into a terminate call. systems programming
- Apr 13, 2025 Debugging Optimised Code: Location Lists and Inlined Frames A variable at -O2 is a rule that changes with the program counter, and an inlined call is a frame that exists only in the debug information. Where both come from. developer tools
- Mar 22, 2025 Debug Information for Optimized Code: Line Tables, Location Lists, and Lost Variables At -O2 the compiler moves, merges, and deletes variables. DWARF describes the result with location lists and inline scopes, and the debugger reconstructs values that no longer live anywhere. compilers
- May 9, 2024 Reading an ELF Image: Sections, Symbols, and DWARF How a debugger maps a source line to a flash address, what the symbol table contributes that DWARF does not, and why a stripped image still debugs correctly. embedded systems
- Nov 28, 2023 Unwinding Across an FFI Boundary Why an exception cannot safely propagate through a C frame, how table-based unwinding locates a handler, and what a boundary must do instead of throwing through it. language runtimes
- Dec 28, 2022 Stack Unwinding: Rebuilding the Call Stack from Frame Rules Why a backtrace cannot be read off the stack directly, how call frame information describes each prologue, and where unwinding gives up on corrupted or signal frames. developer tools