From 315175e34d7563cb0cf2be74868a76af7fbd45c3 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Fri, 25 Sep 2026 13:45:31 -0600 Subject: [PATCH] keep debug info status viz, just omit string if it matches the module (usual linux case) --- project.raddbg | 10 +++++++ src/raddbg/raddbg_widgets.c | 57 +++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/project.raddbg b/project.raddbg index 83038133..1ed437e5 100755 --- a/project.raddbg +++ b/project.raddbg @@ -35,5 +35,15 @@ target: executable: "build/raddbg" working_directory: build arguments: "--user:raddbg_test.user" +} +target: +{ + executable: "build/metagen" + working_directory: build +} +target: +{ + executable: "../jai/examples/invaders/invaders" + working_directory: "../jai/examples/invaders" enabled: 1 } diff --git a/src/raddbg/raddbg_widgets.c b/src/raddbg/raddbg_widgets.c index 1ba63380..c9810b4c 100644 --- a/src/raddbg/raddbg_widgets.c +++ b/src/raddbg/raddbg_widgets.c @@ -618,46 +618,47 @@ rd_title_fstrs_from_ctrl_entity(Arena *arena, D_Entity *entity, B32 include_extr if(entity->kind == D_EntityKind_Module && include_extras) { D_Entity *debug_info_path = d_entity_child_from_kind(entity, D_EntityKind_DebugInfoPath); - if(!str8_match(debug_info_path->string, entity->string, 0)) + B32 need_debug_info_name = !str8_match(debug_info_path->string, entity->string, 0); + Access *access = access_open(); + DI_Key dbgi_key = d_dbgi_key_from_debug_info_path(debug_info_path); + RDI_Parsed *rdi = di_rdi_from_key(access, dbgi_key, 0, 0); + if(rdi == &di_rdi_parsed_nil_waiting) { - Access *access = access_open(); - DI_Key dbgi_key = d_dbgi_key_from_debug_info_path(debug_info_path); - RDI_Parsed *rdi = di_rdi_from_key(access, dbgi_key, 0, 0); - if(rdi == &di_rdi_parsed_nil_waiting) + UI_TagF("pop") { - UI_TagF("pop") - { - dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); - dr_fstrs_push_new(arena, &result, ¶ms, s("Loading debug info"), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main), .size = extras_size, .color = secondary_color); - dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); - dr_fstrs_push_new(arena, &result, ¶ms, rd_icon_kind_text_table[RD_IconKind_CircleFilled], .font = rd_font_from_slot(RD_FontSlot_Icons), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Icons), .size = extras_size, .color = ui_color_from_name(s("background"))); - dr_fstrs_push_new(arena, &result, ¶ms, s(" "), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main)); - } + dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); + dr_fstrs_push_new(arena, &result, ¶ms, s("Loading debug info"), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main), .size = extras_size, .color = secondary_color); + dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); + dr_fstrs_push_new(arena, &result, ¶ms, rd_icon_kind_text_table[RD_IconKind_CircleFilled], .font = rd_font_from_slot(RD_FontSlot_Icons), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Icons), .size = extras_size, .color = ui_color_from_name(s("background"))); + dr_fstrs_push_new(arena, &result, ¶ms, s(" "), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main)); } - else if(rdi->raw_data_size == 0) + } + else if(rdi->raw_data_size == 0) + { + UI_TagF("bad_pop") { - UI_TagF("bad_pop") - { - dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); - dr_fstrs_push_new(arena, &result, ¶ms, s("Debug info not found"), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main), .size = extras_size, .color = secondary_color); - dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); - dr_fstrs_push_new(arena, &result, ¶ms, rd_icon_kind_text_table[RD_IconKind_X], .font = rd_font_from_slot(RD_FontSlot_Icons), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Icons), .size = extras_size, .color = ui_color_from_name(s("background"))); - dr_fstrs_push_new(arena, &result, ¶ms, s(" "), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main)); - } + dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); + dr_fstrs_push_new(arena, &result, ¶ms, s("Debug info not found"), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main), .size = extras_size, .color = secondary_color); + dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); + dr_fstrs_push_new(arena, &result, ¶ms, rd_icon_kind_text_table[RD_IconKind_X], .font = rd_font_from_slot(RD_FontSlot_Icons), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Icons), .size = extras_size, .color = ui_color_from_name(s("background"))); + dr_fstrs_push_new(arena, &result, ¶ms, s(" "), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main)); } - else + } + else + { + UI_TagF("good_pop") { - UI_TagF("good_pop") + if(need_debug_info_name) { dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); dr_fstrs_push_new(arena, &result, ¶ms, str8_skip_last_slash(debug_info_path->string), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main), .size = extras_size, .color = secondary_color); - dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); - dr_fstrs_push_new(arena, &result, ¶ms, rd_icon_kind_text_table[RD_IconKind_Check], .font = rd_font_from_slot(RD_FontSlot_Icons), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Icons), .size = extras_size, .color = ui_color_from_name(s("background"))); - dr_fstrs_push_new(arena, &result, ¶ms, s(" "), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main)); } + dr_fstrs_push_new(arena, &result, ¶ms, s(" ")); + dr_fstrs_push_new(arena, &result, ¶ms, rd_icon_kind_text_table[RD_IconKind_Check], .font = rd_font_from_slot(RD_FontSlot_Icons), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Icons), .size = extras_size, .color = ui_color_from_name(s("background"))); + dr_fstrs_push_new(arena, &result, ¶ms, s(" "), .font = rd_font_from_slot(RD_FontSlot_Main), .raster_flags = rd_raster_flags_from_slot(RD_FontSlot_Main)); } - access_close(access); } + access_close(access); } return result;