mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-01 11:48:10 +00:00
pass over raddump
- made inline sites section more compact - consistent indentation for PE/COFF printers
This commit is contained in:
+351
-341
File diff suppressed because it is too large
Load Diff
@@ -213,7 +213,7 @@ internal void rdi_print_global_variable(Arena *arena, String8List *out, String8
|
|||||||
internal void rdi_print_thread_variable(Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_ThreadVariable *tvar);
|
internal void rdi_print_thread_variable(Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_ThreadVariable *tvar);
|
||||||
internal void rdi_print_procedure (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_Procedure *proc, RDI_Arch arch);
|
internal void rdi_print_procedure (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_Procedure *proc, RDI_Arch arch);
|
||||||
internal void rdi_print_scope (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_Scope *scope, RDI_Arch arch);
|
internal void rdi_print_scope (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_Scope *scope, RDI_Arch arch);
|
||||||
internal void rdi_print_inline_site (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_InlineSite *inline_site);
|
internal void rdi_print_inline_site (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, U64 idx, RDI_InlineSite *inline_site);
|
||||||
internal void rdi_print_vmap_entry (Arena *arena, String8List *out, String8 indent, RDI_VMapEntry *v);
|
internal void rdi_print_vmap_entry (Arena *arena, String8List *out, String8 indent, RDI_VMapEntry *v);
|
||||||
|
|
||||||
// DWARF
|
// DWARF
|
||||||
|
|||||||
@@ -274,17 +274,19 @@ entry_point(CmdLine *cmdline)
|
|||||||
RDI_Parsed rdi = {0};
|
RDI_Parsed rdi = {0};
|
||||||
RDI_ParseStatus parse_status = rdi_parse(raw_data.str, raw_data.size, &rdi);
|
RDI_ParseStatus parse_status = rdi_parse(raw_data.str, raw_data.size, &rdi);
|
||||||
switch (parse_status) {
|
switch (parse_status) {
|
||||||
case RDI_ParseStatus_Good: rdi_print(arena, out, indent, &rdi, opts); break;
|
case RDI_ParseStatus_Good: {
|
||||||
|
RD_Option rdi_print_opts = opts;
|
||||||
|
if ((rdi_print_opts & RD_Option_RdiAll) == 0) {
|
||||||
|
rdi_print_opts |= RD_Option_RdiAll;
|
||||||
|
}
|
||||||
|
rdi_print(arena, out, indent, &rdi, rdi_print_opts);
|
||||||
|
} break;
|
||||||
case RDI_ParseStatus_HeaderDoesNotMatch: rd_errorf("RDI Parse: header does not match"); break;
|
case RDI_ParseStatus_HeaderDoesNotMatch: rd_errorf("RDI Parse: header does not match"); break;
|
||||||
case RDI_ParseStatus_UnsupportedVersionNumber: rd_errorf("RDI Parse: unsupported version"); break;
|
case RDI_ParseStatus_UnsupportedVersionNumber: rd_errorf("RDI Parse: unsupported version"); break;
|
||||||
case RDI_ParseStatus_InvalidDataSecionLayout: rd_errorf("RDI Parse: invalid data section layout"); break;
|
case RDI_ParseStatus_InvalidDataSecionLayout: rd_errorf("RDI Parse: invalid data section layout"); break;
|
||||||
case RDI_ParseStatus_MissingRequiredSection: rd_errorf("RDI Parse: missing required section"); break;
|
case RDI_ParseStatus_MissingRequiredSection: rd_errorf("RDI Parse: missing required section"); break;
|
||||||
default: rd_errorf("RDI Parse: unknown parse status %u", parse_status); break;
|
default: rd_errorf("RDI Parse: unknown parse status %u", parse_status); break;
|
||||||
}
|
}
|
||||||
if ((opts & RD_Option_RdiAll) == 0) {
|
|
||||||
opts = RD_Option_RdiAll;
|
|
||||||
}
|
|
||||||
rdi_print(arena, out, indent, &rdi, opts);
|
|
||||||
} else if (coff_is_regular_archive(raw_data) || coff_is_thin_archive(raw_data)) {
|
} else if (coff_is_regular_archive(raw_data) || coff_is_thin_archive(raw_data)) {
|
||||||
coff_print_archive(arena, out, indent, raw_data, opts);
|
coff_print_archive(arena, out, indent, raw_data, opts);
|
||||||
} else if (coff_is_big_obj(raw_data)) {
|
} else if (coff_is_big_obj(raw_data)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user