dbg_engine: shift thread register reads / process memory reads -> abstraction layer, rather than directly calling into demon; cache crash dump info, like thread info & memory ranges; implement thread reg reads & memory reads for dumps by using this acceleration structure when we have a dump handle, instead of regular demon reads.

This commit is contained in:
Ryan Fleury
2026-05-18 14:51:17 -07:00
parent 463a4f8565
commit 4840b46b84
23 changed files with 1035 additions and 401 deletions
+5 -19
View File
@@ -10,11 +10,12 @@
typedef U64 D_MsgID;
typedef U32 D_MachineID;
typedef U32 D_ControllerKind;
enum
typedef enum D_ControllerKindEnum
{
D_ControllerKind_Demon,
D_ControllerKind_Dump,
};
}
D_ControllerKindEnum;
#define D_MachineID_Local (1)
@@ -234,21 +235,6 @@ struct D_EntityCtxLookupAccel
U64 entity_kind_arrays_gens[D_EntityKind_COUNT];
};
////////////////////////////////
//~ rjf: Opened Dump Cache Types
typedef struct D_DumpNode D_DumpNode;
struct D_DumpNode
{
D_DumpNode *next;
D_DumpNode *prev;
D_Handle process;
File file;
FileProperties props;
FileMap map;
void *base;
};
////////////////////////////////
//~ rjf: Tick Input Types
@@ -325,8 +311,8 @@ struct D_TrapList
typedef struct D_Spoof D_Spoof;
struct D_Spoof
{
DMN_Handle process;
DMN_Handle thread;
D_Handle process;
D_Handle thread;
U64 vaddr;
U64 new_ip_value;
};