raddbg format stuff -> raddbgi; partial naming/organization over raddbgi_cons

This commit is contained in:
Ryan Fleury
2024-02-12 14:29:24 -08:00
parent cc26a22e40
commit 4b68967fbe
47 changed files with 2589 additions and 2471 deletions
+10 -10
View File
@@ -24,13 +24,13 @@ simply deserialize the PDBs). It is much slower for much larger projects at the
moment, but we expect this will vastly improve overtime.
The RADDBG format is currently specified in code, in the files within the
`src/raddbg_format` folder. The other relevant folders for working with the
`src/raddbgi_format` folder. The other relevant folders for working with the
format are:
- `raddbg_cons`: The RADDBG construction layer, for constructing RADDBG files.
- `raddbg_convert`: Our implementation of PDB-to-RADDBG (and an in-progress
- `raddbgi_cons`: The RADDBG construction layer, for making RADDBG debug info.
- `raddbgi_convert`: Our implementation of PDB-to-RADDBG (and an in-progress
implementation of a DWARF-to-RADDBG) conversion.
- `raddbg_dump`: Code for textually dumping information from RADDBG files.
- `raddbgi_dump`: Code for textually dumping information from RADDBG files.
## Development Setup Instructions
@@ -288,15 +288,15 @@ A list of the layers in the codebase and their associated namespaces is below:
- `raddbg` (no namespace): The layer which ties everything together for the main
graphical debugger. Not much "meat", just drives `df`, implements command line
options, and so on.
- `raddbg_cons` (`CONS_`): Implements an API for constructing files of the
RADDBG debug info file format.
- `raddbg_dump` (`DUMP_`): A dumper utility program for dumping textualizations
of RADDBG debug info files.
- `raddbg_format` (`RADDBG_`): Standalone types and helper functions for the
RADDBG debug info file format. Does not depend on `base`.
- `raddbg_markup` (`RADDBG_`): Standalone header file for marking up user
programs to work with various features in the `raddbg` debugger. Does not
depend on `base`.
- `raddbgi_cons` (`CONS_`): Implements an API for constructing files of the
RADDBG debug info file format.
- `raddbgi_dump` (`DUMP_`): A dumper utility program for dumping
textualizations of RADDBG debug info files.
- `raddbgi_format` (`RADDBG_`): Standalone types and helper functions for the
RADDBG debug info file format. Does not depend on `base`.
- `regs` (`REGS_`): Types, helper functions, and metadata for registers on
supported architectures. Used in reading/writing registers in `demon`, or in
looking up register metadata.
+3 -3
View File
@@ -99,9 +99,9 @@ if not "%no_meta%"=="1" (
:: --- Build Everything (@build_targets) --------------------------------------
pushd build
if "%raddbg%"=="1" %compile% %gfx% ..\src\raddbg\raddbg_main.cpp %compile_link% %out%raddbg.exe || exit /b 1
if "%raddbg_from_pdb%"=="1" %compile% ..\src\raddbg_convert\pdb\raddbg_from_pdb_main.c %compile_link% %out%raddbg_from_pdb.exe || exit /b 1
if "%raddbg_from_dwarf%"=="1" %compile% ..\src\raddbg_convert\dwarf\raddbg_from_dwarf.c %compile_link% %out%raddbg_from_dwarf.exe || exit /b 1
if "%raddbg_dump%"=="1" %compile% ..\src\raddbg_dump\raddbg_dump.c %compile_link% %out%raddbg_dump.exe || exit /b 1
if "%raddbgi_from_pdb%"=="1" %compile% ..\src\raddbgi_convert\pdb\raddbgi_from_pdb_main.c %compile_link% %out%raddbgi_from_pdb.exe || exit /b 1
if "%raddbgi_from_dwarf%"=="1" %compile% ..\src\raddbgi_convert\dwarf\raddbgi_from_dwarf.c %compile_link% %out%raddbgi_from_dwarf.exe || exit /b 1
if "%raddbgi_dump%"=="1" %compile% ..\src\raddbgi_dump\raddbgi_dump.c %compile_link% %out%raddbgi_dump.exe || exit /b 1
if "%ryan_scratch%"=="1" %compile% ..\src\scratch\ryan_scratch.c %compile_link% %out%ryan_scratch.exe || exit /b 1
if "%cpp_tests%"=="1" %compile% ..\src\scratch\i_hate_c_plus_plus.cpp %compile_link% %out%cpp_tests.exe || exit /b 1
if "%look_at_raddbg%"=="1" %compile% ..\src\scratch\look_at_raddbg.c %compile_link% %out%look_at_raddbg.exe || exit /b 1
+7 -7
View File
@@ -56,7 +56,7 @@ commands =
},
.rjf_f2 =
{
.win = "build raddbg_from_pdb telemetry release",
.win = "build raddbgi_from_pdb telemetry release",
.linux = "",
.out = "*compilation*",
.footer_panel = true,
@@ -74,7 +74,7 @@ commands =
},
.rjf_f4 =
{
.win = "build raddbg_from_pdb && pushd build && raddbg_from_pdb.exe --exe:raddbg.exe --pdb:raddbg.pdb --out:raddbg.raddbg --dump:table_diagnostics && popd",
.win = "build raddbgi_from_pdb && pushd build && raddbg_from_pdb.exe --exe:raddbg.exe --pdb:raddbg.pdb --out:raddbg.raddbg --dump:table_diagnostics && popd",
.linux = "",
.out = "*compilation*",
.footer_panel = true,
@@ -83,7 +83,7 @@ commands =
},
.rjf_f5 =
{
.win = "pushd build && raddbg_from_pdb.exe --exe:raddbg.exe --pdb:raddbg.pdb --out:raddbg.raddbg --capture && popd",
.win = "pushd build && raddbgi_from_pdb.exe --exe:raddbg.exe --pdb:raddbg.pdb --out:raddbg.raddbg --capture && popd",
.linux = "",
.out = "*compilation*",
.footer_panel = true,
@@ -108,18 +108,18 @@ commands =
.save_dirty_files = true,
.cursor_at_end = false,
},
.build_raddbg_from_pdb =
.build_raddbgi_from_pdb =
{
.win = "build raddbg_from_pdb",
.win = "build raddbgi_from_pdb",
.linux = "",
.out = "*compilation*",
.footer_panel = true,
.save_dirty_files = true,
.cursor_at_end = false,
},
.build_raddbg_dump =
.build_raddbgi_dump =
{
.win = "build raddbg_dump",
.win = "build raddbgi_dump",
.linux = "",
.out = "*compilation*",
.footer_panel = true,
+1
View File
@@ -102,6 +102,7 @@
#define AssertIff(a,b) Assert(!!(a) == !!(b))
#define InvalidPath Assert(!"Invalid Path!")
#define NotImplemented Assert(!"Not Implemented!")
#define NoOp ((void)0)
#define StaticAssert(C,ID) global U8 Glue(ID,__LINE__)[(C)?1:-1]
+25 -25
View File
@@ -15,20 +15,20 @@
#include "txti/txti.h"
#include "coff/coff.h"
#include "pe/pe.h"
#include "raddbg_format/raddbg_format.h"
#include "raddbg_format/raddbg_format_parse.h"
#include "raddbg_cons/raddbg_cons.h"
#include "raddbg_convert/pdb/raddbg_coff.h"
#include "raddbg_convert/pdb/raddbg_codeview.h"
#include "raddbg_convert/pdb/raddbg_msf.h"
#include "raddbg_convert/pdb/raddbg_pdb.h"
#include "raddbg_convert/pdb/raddbg_coff_conversion.h"
#include "raddbg_convert/pdb/raddbg_codeview_conversion.h"
#include "raddbg_convert/pdb/raddbg_from_pdb.h"
#include "raddbg_convert/pdb/raddbg_codeview_stringize.h"
#include "raddbg_convert/pdb/raddbg_pdb_stringize.h"
#include "raddbgi_format/raddbgi_format.h"
#include "raddbgi_format/raddbgi_format_parse.h"
#include "raddbgi_cons/raddbgi_cons.h"
#include "raddbgi_convert/pdb/raddbgi_coff.h"
#include "raddbgi_convert/pdb/raddbgi_codeview.h"
#include "raddbgi_convert/pdb/raddbgi_msf.h"
#include "raddbgi_convert/pdb/raddbgi_pdb.h"
#include "raddbgi_convert/pdb/raddbgi_coff_conversion.h"
#include "raddbgi_convert/pdb/raddbgi_codeview_conversion.h"
#include "raddbgi_convert/pdb/raddbgi_from_pdb.h"
#include "raddbgi_convert/pdb/raddbgi_codeview_stringize.h"
#include "raddbgi_convert/pdb/raddbgi_pdb_stringize.h"
#include "regs/regs.h"
#include "regs/raddbg/regs_raddbg.h"
#include "regs/raddbgi/regs_raddbgi.h"
#include "type_graph/type_graph.h"
#include "dbgi/dbgi.h"
#include "demon/demon_inc.h"
@@ -57,19 +57,19 @@
#include "txti/txti.c"
#include "coff/coff.c"
#include "pe/pe.c"
#include "raddbg_format/raddbg_format.c"
#include "raddbg_format/raddbg_format_parse.c"
#include "raddbg_cons/raddbg_cons.c"
#include "raddbg_convert/pdb/raddbg_msf.c"
#include "raddbg_convert/pdb/raddbg_codeview.c"
#include "raddbg_convert/pdb/raddbg_pdb.c"
#include "raddbg_convert/pdb/raddbg_coff_conversion.c"
#include "raddbg_convert/pdb/raddbg_codeview_conversion.c"
#include "raddbg_convert/pdb/raddbg_codeview_stringize.c"
#include "raddbg_convert/pdb/raddbg_pdb_stringize.c"
#include "raddbg_convert/pdb/raddbg_from_pdb.c"
#include "raddbgi_format/raddbgi_format.c"
#include "raddbgi_format/raddbgi_format_parse.c"
#include "raddbgi_cons/raddbgi_cons.c"
#include "raddbgi_convert/pdb/raddbgi_msf.c"
#include "raddbgi_convert/pdb/raddbgi_codeview.c"
#include "raddbgi_convert/pdb/raddbgi_pdb.c"
#include "raddbgi_convert/pdb/raddbgi_coff_conversion.c"
#include "raddbgi_convert/pdb/raddbgi_codeview_conversion.c"
#include "raddbgi_convert/pdb/raddbgi_codeview_stringize.c"
#include "raddbgi_convert/pdb/raddbgi_pdb_stringize.c"
#include "raddbgi_convert/pdb/raddbgi_from_pdb.c"
#include "regs/regs.c"
#include "regs/raddbg/regs_raddbg.c"
#include "regs/raddbgi/regs_raddbgi.c"
#include "type_graph/type_graph.c"
#include "dbgi/dbgi.c"
#include "demon/demon_inc.c"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -3,30 +3,29 @@
#include "base/base_inc.h"
#include "os/os_inc.h"
#include "raddbg_format/raddbg_format.h"
#include "raddbg_cons/raddbg_cons.h"
#include "raddbgi_format/raddbgi_format.h"
#include "raddbgi_cons/raddbgi_cons.h"
#include "raddbg_elf.h"
#include "raddbg_dwarf.h"
#include "raddbgi_elf.h"
#include "raddbgi_dwarf.h"
#include "raddbg_dwarf_stringize.h"
#include "raddbgi_dwarf_stringize.h"
#include "raddbg_from_dwarf.h"
#include "raddbgi_from_dwarf.h"
#include "base/base_inc.c"
#include "os/os_inc.c"
#include "raddbg_format/raddbg_format.c"
#include "raddbg_cons/raddbg_cons.c"
#include "raddbgi_format/raddbgi_format.c"
#include "raddbgi_cons/raddbgi_cons.c"
#include "raddbg_elf.c"
#include "raddbg_dwarf.c"
#include "raddbgi_elf.c"
#include "raddbgi_dwarf.c"
#include "raddbg_dwarf_stringize.c"
#include "raddbgi_dwarf_stringize.c"
// TODO(allen):
// [ ] need sample data for .debug_names
////////////////////////////////
//~ Program Parameters Parser
@@ -1407,11 +1407,6 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
U8 *name_ptr = numeric_ptr + size.encoded_size;
String8 name = str8_cstring_capped((char*)name_ptr, first + cap);
if(str8_match(name, str8_lit("Foo"), 0))
{
int x = 0;
}
// incomplete type
if (lf_struct->props & CV_TypeProp_FwdRef){
RADDBG_TypeKind type_kind = RADDBG_TypeKind_IncompleteStruct;
@@ -4,37 +4,37 @@
#include "base/base_inc.h"
#include "os/os_inc.h"
#include "coff/coff.h"
#include "raddbg_format/raddbg_format.h"
#include "raddbg_cons/raddbg_cons.h"
#include "raddbgi_format/raddbgi_format.h"
#include "raddbgi_cons/raddbgi_cons.h"
#include "raddbg_coff.h"
#include "raddbg_codeview.h"
#include "raddbg_msf.h"
#include "raddbg_pdb.h"
#include "raddbg_coff_conversion.h"
#include "raddbg_codeview_conversion.h"
#include "raddbgi_coff.h"
#include "raddbgi_codeview.h"
#include "raddbgi_msf.h"
#include "raddbgi_pdb.h"
#include "raddbgi_coff_conversion.h"
#include "raddbgi_codeview_conversion.h"
#include "raddbg_codeview_stringize.h"
#include "raddbg_pdb_stringize.h"
#include "raddbgi_codeview_stringize.h"
#include "raddbgi_pdb_stringize.h"
#include "raddbg_from_pdb.h"
#include "raddbgi_from_pdb.h"
#include "base/base_inc.c"
#include "coff/coff.c"
#include "os/os_inc.c"
#include "raddbg_format/raddbg_format.c"
#include "raddbg_cons/raddbg_cons.c"
#include "raddbgi_format/raddbgi_format.c"
#include "raddbgi_cons/raddbgi_cons.c"
#include "raddbg_msf.c"
#include "raddbg_codeview.c"
#include "raddbg_pdb.c"
#include "raddbg_coff_conversion.c"
#include "raddbg_codeview_conversion.c"
#include "raddbgi_msf.c"
#include "raddbgi_codeview.c"
#include "raddbgi_pdb.c"
#include "raddbgi_coff_conversion.c"
#include "raddbgi_codeview_conversion.c"
#include "raddbg_codeview_stringize.c"
#include "raddbg_pdb_stringize.c"
#include "raddbgi_codeview_stringize.c"
#include "raddbgi_pdb_stringize.c"
#include "raddbg_from_pdb.c"
#include "raddbgi_from_pdb.c"
int
main(int argc, char **argv){
@@ -3,17 +3,17 @@
#include "base/base_inc.h"
#include "os/os_inc.h"
#include "raddbg_format/raddbg_format.h"
#include "raddbg_format/raddbg_format_parse.h"
#include "raddbg_stringize.h"
#include "raddbgi_format/raddbgi_format.h"
#include "raddbgi_format/raddbgi_format_parse.h"
#include "raddbgi_stringize.h"
#include "raddbg_dump.h"
#include "raddbgi_dump.h"
#include "base/base_inc.c"
#include "os/os_inc.c"
#include "raddbg_format/raddbg_format.c"
#include "raddbg_format/raddbg_format_parse.c"
#include "raddbg_stringize.c"
#include "raddbgi_format/raddbgi_format.c"
#include "raddbgi_format/raddbgi_format_parse.c"
#include "raddbgi_stringize.c"
////////////////////////////////
//~ Program Parameters Parser
@@ -1,4 +1,4 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
#include "regs/raddbg/generated/regs_raddbg.meta.c"
#include "regs/raddbgi/generated/regs_raddbgi.meta.c"
+4 -4
View File
@@ -6,10 +6,10 @@
#include <windows.h>
#include <stdint.h>
#include "raddbg_format/raddbg_format.h"
#include "raddbg_format/raddbg_format_parse.h"
#include "raddbg_format/raddbg_format.c"
#include "raddbg_format/raddbg_format_parse.c"
#include "raddbgi_format/raddbgi_format.h"
#include "raddbgi_format/raddbgi_format_parse.h"
#include "raddbgi_format/raddbgi_format.c"
#include "raddbgi_format/raddbgi_format_parse.c"
int main(int argument_count, char **arguments)
{