setting for auto-downloading missing debug info (off by default); command for manually loading module debug info as-needed

This commit is contained in:
Ryan Fleury committed 2026-06-09 14:01:09 -07:00
1 parent 0105b06fef
commit 5ae286d67e
13 files changed
+103 -18

No files matched your search

+19 -3
View File
@@ -100,6 +100,15 @@ di_init(CmdLine *cmdline)
di_shared->event_arena = arena_alloc();
}
////////////////////////////////
//~ rjf: Settings Submission
internal void
di_set_auto_downloads(B32 auto_downloads)
{
ins_atomic_u32_eval_assign(&di_shared->auto_downloads, auto_downloads);
}
////////////////////////////////
//~ rjf: Path * Timestamp Cache Submission & Lookup
@@ -690,10 +699,17 @@ di_async_tick(void)
String8 symbol_cache_path = smsv_cache_path();
if(str8_match(symbol_cache_path, og_path, StringMatchFlag_RightSideSloppy|StringMatchFlag_SlashInsensitive))
{
og_is_downloading = 1;
smsv_fill_local_path(og_path);
if(di_shared->auto_downloads)
{
og_is_downloading = 1;
smsv_fill_local_path(og_path);
}
SMSV_Status status = smsv_status_from_local_path(og_path);
if(status == SMSV_Status_Null)
if(status == SMSV_Status_Pending)
{
og_is_downloading = 1;
}
else if(status == SMSV_Status_Null)
{
og_is_downloading = 0;
}
+8
View File
@@ -249,6 +249,9 @@ struct DI_Shared
U64 load_gen;
U64 load_count;
// rjf: settings
B32 auto_downloads;
// rjf: key -> path cache
U64 key2path_slots_count;
DI_KeySlot *key2path_slots;
@@ -315,6 +318,11 @@ internal DI_KeyArray di_key_array_from_list(Arena *arena, DI_KeyList *list);
internal void di_init(CmdLine *cmdline);
////////////////////////////////
//~ rjf: Settings Submission
internal void di_set_auto_downloads(B32 auto_downloads);
////////////////////////////////
//~ rjf: Path * Timestamp Cache Submission & Lookup