static void print_checkpoint_info(breakpoint_t *bp) { if (bp->trace) { mon_out("TRACE: "); } else if (bp->watch_load || bp->watch_store) { mon_out("WATCH: "); } else { if (bp->temporary) mon_out("UNTIL: "); else mon_out("BREAK: "); } mon_out("%d %s:$%04x",bp->brknum, mon_memspace_string[addr_memspace(bp->start_addr)],addr_location(bp->start_addr)); if (mon_is_valid_addr(bp->end_addr) && (bp->start_addr != bp->end_addr)) mon_out("-$%04x",addr_location(bp->end_addr)); if (bp->watch_load) mon_out(" load"); if (bp->watch_store) mon_out(" store"); mon_out(" %s\n", (bp->enabled==e_ON) ? "enabled" : "disabled"); if (bp->condition) { mon_out("\tCondition: "); mon_print_conditional(bp->condition); mon_out("\n"); } if (bp->command) mon_out("\tCommand: %s\n", bp->command); }
void mon_breakpoint_set_checkpoint_condition(int brk_num, cond_node_t *cnode) { breakpoint_t *bp; bp = find_checkpoint(brk_num); if (!bp) { mon_out("#%d not a valid breakpoint\n", brk_num); } else { bp->condition = cnode; mon_out("Setting breakpoint %d condition to: ", brk_num); mon_print_conditional(cnode); mon_out("\n"); } }
static void print_checkpoint_info(checkpoint_t *cp) { if (!cp->stop) { mon_out("TRACE: "); } else if (cp->check_load || cp->check_store) { mon_out("WATCH: "); } else { if (cp->temporary) { mon_out("UNTIL: "); } else { mon_out("BREAK: "); } } mon_out("%d %s:$%04x", cp->checknum, mon_memspace_string[addr_memspace(cp->start_addr)], addr_location(cp->start_addr)); if (mon_is_valid_addr(cp->end_addr) && (cp->start_addr != cp->end_addr)) { mon_out("-$%04x", addr_location(cp->end_addr)); } mon_out(cp->stop ? " (Stop on" : " (Trace"); if (cp->check_load) { mon_out(" load"); } if (cp->check_store) { mon_out(" store"); } if (cp->check_exec) { mon_out(" exec"); } mon_out(")"); if (cp->enabled != e_ON) { mon_out(" disabled"); } mon_out("\n"); if (cp->condition) { mon_out("\tCondition: "); mon_print_conditional(cp->condition); mon_out("\n"); } if (cp->command) { mon_out("\tCommand: %s\n", cp->command); } }
void mon_breakpoint_set_checkpoint_condition(int cp_num, cond_node_t *cnode) { checkpoint_t *cp; if (cnode) { cp = find_checkpoint(cp_num); if (!cp) { mon_out("#%d not a valid checkpoint\n", cp_num); } else { cp->condition = cnode; mon_out("Setting checkpoint %d condition to: ", cp_num); mon_print_conditional(cnode); mon_out("\n"); } } }