mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-13 20:39:41 -07:00
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:
1 parent
463a4f8565
commit
4840b46b84
23 files changed
+1035
-401
No files matched your search
@@ -2,6 +2,7 @@
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
#include "arch/arch.c"
|
||||
#include "arch/os/arch_os.c"
|
||||
#if defined(DWARF_H)
|
||||
# include "arch/dwarf/arch_dwarf.c"
|
||||
#endif
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#define ARCH_INC_H
|
||||
|
||||
#include "arch/arch.h"
|
||||
#include "arch/os/arch_os.h"
|
||||
#if defined(DWARF_H)
|
||||
# include "arch/dwarf/arch_dwarf.h"
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) Epic Games Tools
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
internal B32
|
||||
arch_os_write_reg_block_from_thread_ctx(Arch arch, OperatingSystem os, void *reg_block, void *thread_ctx)
|
||||
{
|
||||
B32 result = 0;
|
||||
if(0){}
|
||||
#define Case(arch_, os_, impl) else if((arch) == arch_ && (os) == os_) do {result = impl(reg_block, thread_ctx);}while(0)
|
||||
#if defined(X64_H) && defined(WIN32_X64_H)
|
||||
Case(Arch_x64, OperatingSystem_Windows, w32_x64_write_reg_block_from_thread_ctx);
|
||||
#endif
|
||||
#undef Case
|
||||
else{}
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// Copyright (c) Epic Games Tools
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
#ifndef ARCH_OS_H
|
||||
#define ARCH_OS_H
|
||||
|
||||
internal B32 arch_os_write_reg_block_from_thread_ctx(Arch arch, OperatingSystem os, void *reg_block, void *thread_ctx);
|
||||
|
||||
#endif // ARCH_OS_H
|
||||
Reference in new issue
Block a user