Durin is a library for reading and writing the Dwarf debugging format.
It aims to support:
- Reading DWARF 5 encoded information from ELF and MachO object files.
- Writing DWARF 5 information into ELF and MachO object files.
- Writing DWARF 5 information into assembly files.
In future it could support DWARF 4 or newer versions of the DWARF standard.
It should provide:
- Cross-platform:
durinmakes no assumptions about what kind of object file you're working with. Provide your own Buffer or use theobjectlibrary. - Lazy: you can iterate compilation units without parsing their contents.
Parse only as many debugging information entry (DIE) trees as you iterate
over.
durinalso usesDW_AT_siblingreferences to avoid parsing a DIE's children to find it's next sibling where possible.
To install durin as a dependency, run:
And add durin to your project's dune-project or *.opam files.
- Documentation on ocaml.org
- Example programs in
exampledirectory