mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-29 18:50:03 +00:00
set up scaffolding for dbg engine/frontendm sgs
This commit is contained in:
@@ -34,6 +34,81 @@ Rng1U64 d_reg_slot_range_table[26] =
|
||||
{OffsetOf(D_Regs, params_tree), OffsetOf(D_Regs, params_tree) + sizeof(MD_Node *)},
|
||||
};
|
||||
|
||||
String8 d_msg_kind_name_lower_table[71] =
|
||||
{
|
||||
str8_lit_comp("null"),
|
||||
str8_lit_comp("launch_and_run"),
|
||||
str8_lit_comp("launch_and_init"),
|
||||
str8_lit_comp("kill"),
|
||||
str8_lit_comp("kill_all"),
|
||||
str8_lit_comp("attach"),
|
||||
str8_lit_comp("detach"),
|
||||
str8_lit_comp("continue"),
|
||||
str8_lit_comp("step_into_inst"),
|
||||
str8_lit_comp("step_over_inst"),
|
||||
str8_lit_comp("step_into_line"),
|
||||
str8_lit_comp("step_over_line"),
|
||||
str8_lit_comp("step_out"),
|
||||
str8_lit_comp("halt"),
|
||||
str8_lit_comp("soft_halt_refresh"),
|
||||
str8_lit_comp("set_thread_ip"),
|
||||
str8_lit_comp("run_to_line"),
|
||||
str8_lit_comp("run_to_address"),
|
||||
str8_lit_comp("run"),
|
||||
str8_lit_comp("restart"),
|
||||
str8_lit_comp("step_into"),
|
||||
str8_lit_comp("step_over"),
|
||||
str8_lit_comp("select_thread"),
|
||||
str8_lit_comp("select_unwind"),
|
||||
str8_lit_comp("up_one_frame"),
|
||||
str8_lit_comp("down_one_frame"),
|
||||
str8_lit_comp("freeze_thread"),
|
||||
str8_lit_comp("thaw_thread"),
|
||||
str8_lit_comp("freeze_process"),
|
||||
str8_lit_comp("thaw_process"),
|
||||
str8_lit_comp("freeze_machine"),
|
||||
str8_lit_comp("thaw_machine"),
|
||||
str8_lit_comp("freeze_local_machine"),
|
||||
str8_lit_comp("thaw_local_machine"),
|
||||
str8_lit_comp("set_file_override_link_src"),
|
||||
str8_lit_comp("set_file_override_link_dst"),
|
||||
str8_lit_comp("set_file_replacement_path"),
|
||||
str8_lit_comp("set_auto_view_rule_type"),
|
||||
str8_lit_comp("set_auto_view_rule_view_rule"),
|
||||
str8_lit_comp("enable_entity"),
|
||||
str8_lit_comp("enable_breakpoint"),
|
||||
str8_lit_comp("enable_target"),
|
||||
str8_lit_comp("disable_entity"),
|
||||
str8_lit_comp("disable_breakpoint"),
|
||||
str8_lit_comp("disable_target"),
|
||||
str8_lit_comp("freeze_entity"),
|
||||
str8_lit_comp("thaw_entity"),
|
||||
str8_lit_comp("remove_entity"),
|
||||
str8_lit_comp("remove_breakpoint"),
|
||||
str8_lit_comp("remove_target"),
|
||||
str8_lit_comp("name_entity"),
|
||||
str8_lit_comp("duplicate_entity"),
|
||||
str8_lit_comp("relocate_entity"),
|
||||
str8_lit_comp("add_breakpoint"),
|
||||
str8_lit_comp("toggle_breakpoint"),
|
||||
str8_lit_comp("add_address_breakpoint"),
|
||||
str8_lit_comp("add_function_breakpoint"),
|
||||
str8_lit_comp("add_watch_pin"),
|
||||
str8_lit_comp("toggle_watch_pin"),
|
||||
str8_lit_comp("toggle_watch_expression"),
|
||||
str8_lit_comp("toggle_breakpoint_at_cursor"),
|
||||
str8_lit_comp("toggle_watch_pin_at_cursor"),
|
||||
str8_lit_comp("toggle_watch_expression_at_cursor"),
|
||||
str8_lit_comp("go_to_name_at_cursor"),
|
||||
str8_lit_comp("run_to_cursor"),
|
||||
str8_lit_comp("set_next_statement"),
|
||||
str8_lit_comp("add_target"),
|
||||
str8_lit_comp("select_target"),
|
||||
str8_lit_comp("retry_ended_process"),
|
||||
str8_lit_comp("register_as_jit_debugger"),
|
||||
str8_lit_comp("log_marker"),
|
||||
};
|
||||
|
||||
Rng1U64 d_cmd_param_slot_range_table[23] =
|
||||
{
|
||||
{OffsetOf(D_CmdParams, window), OffsetOf(D_CmdParams, window) + sizeof(D_Handle)},
|
||||
|
||||
@@ -36,6 +36,81 @@ D_RegSlot_String,
|
||||
D_RegSlot_ParamsTree,
|
||||
} D_RegSlot;
|
||||
|
||||
typedef enum D_MsgKind
|
||||
{
|
||||
D_MsgKind_Null,
|
||||
D_MsgKind_LaunchAndRun,
|
||||
D_MsgKind_LaunchAndInit,
|
||||
D_MsgKind_Kill,
|
||||
D_MsgKind_KillAll,
|
||||
D_MsgKind_Attach,
|
||||
D_MsgKind_Detach,
|
||||
D_MsgKind_Continue,
|
||||
D_MsgKind_StepIntoInst,
|
||||
D_MsgKind_StepOverInst,
|
||||
D_MsgKind_StepIntoLine,
|
||||
D_MsgKind_StepOverLine,
|
||||
D_MsgKind_StepOut,
|
||||
D_MsgKind_Halt,
|
||||
D_MsgKind_SoftHaltRefresh,
|
||||
D_MsgKind_SetThreadIP,
|
||||
D_MsgKind_RunToLine,
|
||||
D_MsgKind_RunToAddress,
|
||||
D_MsgKind_Run,
|
||||
D_MsgKind_Restart,
|
||||
D_MsgKind_StepInto,
|
||||
D_MsgKind_StepOver,
|
||||
D_MsgKind_SelectThread,
|
||||
D_MsgKind_SelectUnwind,
|
||||
D_MsgKind_UpOneFrame,
|
||||
D_MsgKind_DownOneFrame,
|
||||
D_MsgKind_FreezeThread,
|
||||
D_MsgKind_ThawThread,
|
||||
D_MsgKind_FreezeProcess,
|
||||
D_MsgKind_ThawProcess,
|
||||
D_MsgKind_FreezeMachine,
|
||||
D_MsgKind_ThawMachine,
|
||||
D_MsgKind_FreezeLocalMachine,
|
||||
D_MsgKind_ThawLocalMachine,
|
||||
D_MsgKind_SetFileOverrideLinkSrc,
|
||||
D_MsgKind_SetFileOverrideLinkDst,
|
||||
D_MsgKind_SetFileReplacementPath,
|
||||
D_MsgKind_SetAutoViewRuleType,
|
||||
D_MsgKind_SetAutoViewRuleViewRule,
|
||||
D_MsgKind_EnableEntity,
|
||||
D_MsgKind_EnableBreakpoint,
|
||||
D_MsgKind_EnableTarget,
|
||||
D_MsgKind_DisableEntity,
|
||||
D_MsgKind_DisableBreakpoint,
|
||||
D_MsgKind_DisableTarget,
|
||||
D_MsgKind_FreezeEntity,
|
||||
D_MsgKind_ThawEntity,
|
||||
D_MsgKind_RemoveEntity,
|
||||
D_MsgKind_RemoveBreakpoint,
|
||||
D_MsgKind_RemoveTarget,
|
||||
D_MsgKind_NameEntity,
|
||||
D_MsgKind_DuplicateEntity,
|
||||
D_MsgKind_RelocateEntity,
|
||||
D_MsgKind_AddBreakpoint,
|
||||
D_MsgKind_ToggleBreakpoint,
|
||||
D_MsgKind_AddAddressBreakpoint,
|
||||
D_MsgKind_AddFunctionBreakpoint,
|
||||
D_MsgKind_AddWatchPin,
|
||||
D_MsgKind_ToggleWatchPin,
|
||||
D_MsgKind_ToggleWatchExpression,
|
||||
D_MsgKind_ToggleBreakpointAtCursor,
|
||||
D_MsgKind_ToggleWatchPinAtCursor,
|
||||
D_MsgKind_ToggleWatchExpressionAtCursor,
|
||||
D_MsgKind_GoToNameAtCursor,
|
||||
D_MsgKind_RunToCursor,
|
||||
D_MsgKind_SetNextStatement,
|
||||
D_MsgKind_AddTarget,
|
||||
D_MsgKind_SelectTarget,
|
||||
D_MsgKind_RetryEndedProcess,
|
||||
D_MsgKind_RegisterAsJITDebugger,
|
||||
D_MsgKind_LogMarker,
|
||||
} D_MsgKind;
|
||||
|
||||
typedef enum D_CfgSrc
|
||||
{
|
||||
D_CfgSrc_User,
|
||||
@@ -421,6 +496,34 @@ U64 unwind_index;
|
||||
U64 inline_depth;
|
||||
};
|
||||
|
||||
#define d_regs_lit_init_top \
|
||||
.module = d_regs()->module,\
|
||||
.process = d_regs()->process,\
|
||||
.thread = d_regs()->thread,\
|
||||
.window = d_regs()->window,\
|
||||
.panel = d_regs()->panel,\
|
||||
.view = d_regs()->view,\
|
||||
.prev_view = d_regs()->prev_view,\
|
||||
.dst_panel = d_regs()->dst_panel,\
|
||||
.entity = d_regs()->entity,\
|
||||
.entity_list = d_regs()->entity_list,\
|
||||
.unwind_count = d_regs()->unwind_count,\
|
||||
.inline_depth = d_regs()->inline_depth,\
|
||||
.file_path = d_regs()->file_path,\
|
||||
.cursor = d_regs()->cursor,\
|
||||
.mark = d_regs()->mark,\
|
||||
.text_key = d_regs()->text_key,\
|
||||
.lang_kind = d_regs()->lang_kind,\
|
||||
.lines = d_regs()->lines,\
|
||||
.dbgi_key = d_regs()->dbgi_key,\
|
||||
.vaddr_range = d_regs()->vaddr_range,\
|
||||
.voff_range = d_regs()->voff_range,\
|
||||
.force_confirm = d_regs()->force_confirm,\
|
||||
.prefer_disasm = d_regs()->prefer_disasm,\
|
||||
.dir2 = d_regs()->dir2,\
|
||||
.string = d_regs()->string,\
|
||||
.params_tree = d_regs()->params_tree,\
|
||||
|
||||
D_VIEW_RULE_EXPR_RESOLUTION_FUNCTION_DEF(array);
|
||||
D_VIEW_RULE_EXPR_RESOLUTION_FUNCTION_DEF(slice);
|
||||
D_VIEW_RULE_EXPR_RESOLUTION_FUNCTION_DEF(bswap);
|
||||
@@ -461,6 +564,7 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
|
||||
};
|
||||
C_LINKAGE_BEGIN
|
||||
extern Rng1U64 d_reg_slot_range_table[26];
|
||||
extern String8 d_msg_kind_name_lower_table[71];
|
||||
extern Rng1U64 d_cmd_param_slot_range_table[23];
|
||||
extern String8 d_entity_kind_display_string_table[31];
|
||||
extern String8 d_entity_kind_name_lower_table[31];
|
||||
|
||||
Reference in New Issue
Block a user