bp hit counts reset; cell-granularity deletions path for watch windows

This commit is contained in:
Ryan Fleury
2024-10-08 11:25:16 -07:00
parent 6be9c71ea9
commit c6b44f6afa
4 changed files with 32 additions and 8 deletions
+8 -8
View File
@@ -1678,19 +1678,12 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, D_P
case CTRL_EventKind_NewProc:
{
// rjf: the first process? -> clear session output & reset all bp hit counts
// rjf: the first process? -> clear session output
CTRL_EntityList existing_processes = ctrl_entity_list_from_kind(d_state->ctrl_entity_store, CTRL_EntityKind_Process);
if(existing_processes.count == 1)
{
MTX_Op op = {r1u64(0, 0xffffffffffffffffull), str8_lit("[new session]\n")};
mtx_push_op(d_state->output_log_key, op);
#if 0 // TODO(rjf): @msgs
RD_EntityList bps = rd_query_cached_entity_list_with_kind(RD_EntityKind_Breakpoint);
for(RD_EntityNode *n = bps.first; n != 0; n = n->next)
{
n->entity->u64 = 0;
}
#endif
}
// rjf: create entity
@@ -1700,6 +1693,13 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, D_P
rd_entity_equip_ctrl_handle(entity, event->entity);
rd_entity_equip_ctrl_id(entity, event->entity_id);
rd_entity_equip_arch(entity, event->arch);
// rjf: report
D_EventNode *n = push_array(arena, D_EventNode, 1);
SLLQueuePush(result.first, result.last, n);
result.count += 1;
D_Event *evt = &n->v;
evt->kind = D_EventKind_ProcessBegin;
}break;
case CTRL_EventKind_NewThread:
+1
View File
@@ -61,6 +61,7 @@ struct D_PathMapArray
typedef enum D_EventKind
{
D_EventKind_Null,
D_EventKind_ProcessBegin,
D_EventKind_Stop,
D_EventKind_COUNT
}