mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-08 08:55:46 +00:00
setting for auto-downloading missing debug info (off by default); command for manually loading module debug info as-needed
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -98,6 +98,7 @@ RD_CmdKind_FreezeEntity,
|
||||
RD_CmdKind_ThawEntity,
|
||||
RD_CmdKind_SetEntityColor,
|
||||
RD_CmdKind_SetEntityName,
|
||||
RD_CmdKind_DownloadModuleDebugInfo,
|
||||
RD_CmdKind_Attach,
|
||||
RD_CmdKind_OpenCrashDump,
|
||||
RD_CmdKind_Exit,
|
||||
@@ -615,7 +616,7 @@ Z(getting_started)\
|
||||
C_LINKAGE_BEGIN
|
||||
extern String8 rd_tab_fast_path_view_name_table[25];
|
||||
extern String8 rd_tab_fast_path_query_name_table[25];
|
||||
extern RD_VocabInfo rd_vocab_info_table[367];
|
||||
extern RD_VocabInfo rd_vocab_info_table[368];
|
||||
extern RD_NameSchemaInfo rd_name_schema_info_table[39];
|
||||
extern String8 rd_reg_slot_code_name_table[51];
|
||||
extern Rng1U64 rd_reg_slot_range_table[51];
|
||||
|
||||
@@ -316,6 +316,10 @@ RD_VocabTable:
|
||||
//- rjf: auto-load last project
|
||||
@default(0) @display_name('Auto Load Last Project') @description("Enables loading the most recently opened project, if one is not specified from the command line.")
|
||||
'auto_load_last_project': bool,
|
||||
|
||||
//- rjf: symbol server
|
||||
@default(0) @display_name('Auto Download Debug Info') @Description("Automatically tries to download missing debug info from symbol server(s).")
|
||||
'auto_download_debug_info': bool,
|
||||
}
|
||||
```
|
||||
}
|
||||
|
||||
@@ -11186,6 +11186,8 @@ rd_frame(void)
|
||||
//////////////////////////////
|
||||
//- rjf: apply debug info config trees -> loaded debug info cache
|
||||
//
|
||||
B32 auto_download_debug_info = rd_setting_b32_from_name(s("auto_download_debug_info"));
|
||||
di_set_auto_downloads(auto_download_debug_info);
|
||||
ProfScope("apply debug info config trees -> loaded debug info cache")
|
||||
{
|
||||
U64 current_update_tick_idx = update_tick_idx();
|
||||
@@ -17319,7 +17321,7 @@ rd_frame(void)
|
||||
}
|
||||
|
||||
////////////////////////////
|
||||
//- rjf: gather exception code filters
|
||||
//- rjf: gather debug engine settings
|
||||
//
|
||||
U64 exception_code_filters[(D_ExceptionCodeKind_COUNT+63)/64] = {0};
|
||||
{
|
||||
@@ -17344,7 +17346,7 @@ rd_frame(void)
|
||||
}
|
||||
U64 cmd_count_pre_tick = rd_state->cmds[0].count;
|
||||
B32 soft_halt_issued = d_user_state->ctrl_soft_halt_issued;
|
||||
D_EventList engine_events = d_tick(scratch.arena, &targets, &breakpoints, &path_maps, exception_code_filters);
|
||||
D_EventList engine_events = d_tick(scratch.arena, &targets, &breakpoints, &path_maps, exception_code_filters, auto_download_debug_info);
|
||||
|
||||
////////////////////////////
|
||||
//- rjf: process debug engine events
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
////////////////////////////////
|
||||
//~ rjf: post-0.9.26 TODO notes
|
||||
//
|
||||
// [ ] debug info loading retry mechanism, in cases where the load failed, but settings/filesystem state changes -
|
||||
// e.g. turn on automatic downloads, already tried to load symbol server cache file that doesn't exist ->
|
||||
// need to retry
|
||||
// [ ] wassim memory bug
|
||||
//
|
||||
// [ ] symbol server
|
||||
|
||||
Reference in New Issue
Block a user