DWARF in Rizin

  • librz/bin/dwarf.c
  • librz/analysis/dwarf_process.c
  • librz/include/rz_bin_dwarf.h

plantuml

RzBinDwarfDebugAbbrev --> RzBinDwarfDebugInfo :  rz_bin_dwarf_parse_info()
RzBinDwarfDebugInfo --> SDB
[*] --> HtUP_offset_RzBinDwarfLocList : rz_bin_dwarf_parse_loc()
HtUP_offset_RzBinDwarfLocList --> SDB : void rz_analysis_dwarf_process_info(const RzAnalysis *analysis, RzAnalysisDwarfContext *ctx)
||
[*] --> RzBinDwarfLineInfo : rz_bin_dwarf_parse_line()

}

[*] –> apply_dwarf : bool rz_core_bin_apply_dwarf(RzCore *core, RzBinFile *binfile)

apply*dwarf –> Function_Analysis : void rz_analysis_dwarf_integrate_functions(RzAnalysis *analysis, RzFlag flags, Sdb _dwarf_sdb) Function_Analysis –> []

@enduml