mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-15 21:39:41 -07:00
updated DWARF expression printer, added ELF preamble,
transitioned debug info and debug line printers to new parser
This commit is contained in:
1 parent
f1e88b5667
commit
57208909f1
5 files changed
+886
-622
No files matched your search
@@ -17,19 +17,27 @@
|
||||
#include "third_party/zydis/zydis.c"
|
||||
#include "third_party/rad_lzb_simple/rad_lzb_simple.h"
|
||||
#include "third_party/rad_lzb_simple/rad_lzb_simple.c"
|
||||
#define SINFL_IMPLEMENTATION
|
||||
#include "third_party/sinfl/sinfl.h"
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
#include "base/base_inc.h"
|
||||
#include "linker/base_ext/base_inc.h"
|
||||
#include "os/os_inc.h"
|
||||
#include "async/async.h"
|
||||
#include "rdi_format/rdi_format_local.h"
|
||||
#include "rdi_make/rdi_make_local.h"
|
||||
#include "rdi_make/rdi_make_help.h"
|
||||
#include "path/path.h"
|
||||
#include "linker/path_ext/path.h"
|
||||
#include "linker/hash_table.h"
|
||||
#include "coff/coff.h"
|
||||
#include "coff/coff_enum.h"
|
||||
#include "coff/coff_parse.h"
|
||||
#include "pe/pe.h"
|
||||
#include "elf/elf.h"
|
||||
#include "elf/elf_parse.h"
|
||||
#include "msvc_crt/msvc_crt.h"
|
||||
#include "msvc_crt/msvc_crt_enum.h"
|
||||
#include "codeview/codeview.h"
|
||||
@@ -39,24 +47,32 @@
|
||||
#include "msf/msf_parse.h"
|
||||
#include "pdb/pdb.h"
|
||||
#include "pdb/pdb_parse.h"
|
||||
#include "rdi_from_pdb/rdi_from_pdb.h"
|
||||
#include "dwarf/dwarf.h"
|
||||
#include "dwarf/dwarf_parse.h"
|
||||
#include "dwarf/dwarf_expr.h"
|
||||
#include "dwarf/dwarf_unwind.h"
|
||||
#include "dwarf/dwarf_coff.h"
|
||||
#include "dwarf/dwarf_elf.h"
|
||||
#include "dwarf/dwarf_enum.h"
|
||||
#include "rdi_from_pdb/rdi_from_pdb.h"
|
||||
#include "rdi_from_dwarf/rdi_from_dwarf.h"
|
||||
|
||||
#include "base/base_inc.c"
|
||||
#include "linker/base_ext/base_inc.c"
|
||||
#include "os/os_inc.c"
|
||||
#include "async/async.c"
|
||||
#include "rdi_format/rdi_format_local.c"
|
||||
#include "rdi_make/rdi_make_local.c"
|
||||
#include "rdi_make/rdi_make_help.c"
|
||||
#include "path/path.c"
|
||||
#include "linker/path_ext/path.c"
|
||||
#include "linker/hash_table.c"
|
||||
#include "coff/coff.c"
|
||||
#include "coff/coff_enum.c"
|
||||
#include "coff/coff_parse.c"
|
||||
#include "pe/pe.c"
|
||||
#include "elf/elf.c"
|
||||
#include "elf/elf_parse.c"
|
||||
#include "msvc_crt/msvc_crt.c"
|
||||
#include "msvc_crt/msvc_crt_enum.c"
|
||||
#include "codeview/codeview.c"
|
||||
@@ -66,24 +82,20 @@
|
||||
#include "msf/msf_parse.c"
|
||||
#include "pdb/pdb.c"
|
||||
#include "pdb/pdb_parse.c"
|
||||
#include "rdi_from_pdb/rdi_from_pdb.c"
|
||||
#include "dwarf/dwarf.c"
|
||||
#include "dwarf/dwarf_parse.c"
|
||||
#include "dwarf/dwarf_expr.c"
|
||||
#include "dwarf/dwarf_unwind.c"
|
||||
#include "dwarf/dwarf_coff.c"
|
||||
#include "dwarf/dwarf_elf.c"
|
||||
#include "dwarf/dwarf_enum.c"
|
||||
#include "rdi_from_pdb/rdi_from_pdb.c"
|
||||
#include "rdi_from_dwarf/rdi_from_dwarf.c"
|
||||
|
||||
#include "linker/base_ext/base_inc.h"
|
||||
#include "linker/base_ext/base_inc.c"
|
||||
#include "linker/path_ext/path.h"
|
||||
#include "linker/path_ext/path.c"
|
||||
#include "linker/thread_pool/thread_pool.h"
|
||||
#include "linker/thread_pool/thread_pool.c"
|
||||
#include "linker/codeview_ext/codeview.h"
|
||||
#include "linker/codeview_ext/codeview.c"
|
||||
#include "linker/hash_table.h"
|
||||
#include "linker/hash_table.c"
|
||||
#include "linker/rdi/rdi.h"
|
||||
#include "linker/rdi/rdi.c"
|
||||
|
||||
@@ -265,6 +277,10 @@ entry_point(CmdLine *cmdline)
|
||||
case RDI_ParseStatus_MissingRequiredSection: rd_errorf("RDI Parse: missing required section"); 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)) {
|
||||
coff_print_archive(arena, out, indent, raw_data, opts);
|
||||
} else if (coff_is_big_obj(raw_data)) {
|
||||
@@ -278,7 +294,9 @@ entry_point(CmdLine *cmdline)
|
||||
}
|
||||
pe_print(arena, out, indent, raw_data, opts, rdi);
|
||||
} else if (pe_is_res(raw_data)) {
|
||||
coff_print_res(arena, out, indent, raw_data);
|
||||
//tool_out_coff_res(stdout, file_data);
|
||||
} else if (elf_check_magic(raw_data)) {
|
||||
//elf_print_dwarf_expressions(arena, out, indent, raw_data);
|
||||
}
|
||||
|
||||
exit:;
|
||||
|
||||
Reference in new issue
Block a user