checkpoint on eval2 compiler; setting to disable update checking; cache version check to once per day so that we do not send a lot of extra GH requests every time the debugger starts

This commit is contained in:
Ryan Fleury committed 2026-06-16 14:30:13 -07:00
1 parent bcdc6acd0e
commit 00da627293
11 files changed
+530 -391

No files matched your search

+13 -51
View File
@@ -12,19 +12,17 @@
//- rjf: [h]
#include "base/base_inc.h"
#include "content/content.h"
#include "artifact_cache/artifact_cache.h"
#include "file_stream/file_stream.h"
#include "x64/x64.h"
#include "rdi/rdi_local.h"
#include "dbg_info/dbg_info.h"
#include "arch/arch_inc.h"
#include "eval2/eval2.h"
//- rjf: [c]
#include "base/base_inc.c"
#include "content/content.c"
#include "artifact_cache/artifact_cache.c"
#include "file_stream/file_stream.c"
#include "x64/x64.c"
#include "rdi/rdi_local.c"
#include "dbg_info/dbg_info.c"
#include "arch/arch_inc.c"
#include "eval2/eval2.c"
////////////////////////////////
//~ rjf: Entry Point
@@ -32,53 +30,17 @@
internal void
entry_point(CmdLine *cmdline)
{
local_persist char *pdb_paths[] =
{
"C:/devel/raddebugger/build/raddbg.pdb",
// #include "fn_debug_infos.inc"
};
DI_Key keys[ArrayCount(pdb_paths)] = {0};
for EachElement(idx, pdb_paths)
{
String8 path = str8_cstring(pdb_paths[idx]);
keys[idx] = di_key_from_path_timestamp(path, 0);
di_open(keys[idx]);
}
Temp scratch = scratch_begin(0, 0);
E2_ParseState state = {0};
E2_SpaceMap space_map = {0};
E2_ExprMap expr_map = {0};
for(;;)
{
Access *access = access_open();
B32 got_all_rdis = 1;
U64 num_rdis_loaded = 0;
for EachElement(idx, pdb_paths)
E2_Parse parse = e2_parse_from_string(scratch.arena, &state, &space_map, &expr_map, s("!123"));
if(parse.status == E2_Status_Good)
{
RDI_Parsed *rdi = di_rdi_from_key(access, keys[idx], 1, 0);
if(rdi == &rdi_parsed_nil)
{
got_all_rdis = 0;
}
else
{
num_rdis_loaded += 1;
}
}
printf("\rloaded [%I64u/%I64u], %I64u active threads, %I64u active processes", num_rdis_loaded, ArrayCount(pdb_paths), di_shared->conversion_thread_count, di_shared->conversion_process_count);
access_close(access);
if(got_all_rdis)
{
Access *access = access_open();
String8 search_query = str8_lit("rd_");
DI_SearchItemArray items = di_search_item_array_from_target_query(access, RDI_SectionKind_Procedures, search_query, max_U64);
printf("\n");
printf("fuzzy searched for %.*s, found %I64u items\n", str8_varg(search_query), items.count);
access_close(access);
String8 match_query = str8_lit("rd_frame");
DI_Match match = di_match_from_string(match_query, 0, max_U64);
printf("searched for %.*s, found at %i in [%I64x:%I64x]\n", str8_varg(match_query), match.idx, match.key.u64[0], match.key.u64[1]);
break;
}
}
scratch_end(scratch);
}