int remove_bp(libgdbr_t* g, uint64_t address, enum Breakpoint type) { char tmp[255] = {}; int ret = 0; switch (type) { case BREAKPOINT: ret = snprintf (tmp, 255, "%s,%lx,1", CMD_RBP, address); break; case HARDWARE_BREAKPOINT: ret = snprintf (tmp, 255, "%s,%lx,1", CMD_RHBP, address); break; case WRITE_WATCHPOINT: break; case READ_WATCHPOINT: break; case ACCESS_WATCHPOINT: break; default: break; } if (ret < 0) return ret; ret = send_command (g, tmp); if (ret < 0) return ret; if (read_packet (g) > 0) { parse_packet (g, 0); return handle_removebp (g); } return 0; }
int remove_bp(libgdbr_t *g, ut64 address, enum Breakpoint type) { char tmp[255] = {0}; int ret = -1; if (!g) { return -1; } switch (type) { case BREAKPOINT: ret = snprintf (tmp, sizeof (tmp) - 1, "%s,%"PFMT64x ",1", CMD_RBP, address); break; case HARDWARE_BREAKPOINT: ret = snprintf (tmp, sizeof (tmp) - 1, "%s,%"PFMT64x ",1", CMD_RHBP, address); break; case WRITE_WATCHPOINT: break; case READ_WATCHPOINT: break; case ACCESS_WATCHPOINT: break; default: break; } if (ret < 0) { return ret; } ret = send_msg (g, tmp); if (ret < 0) { return ret; } if (read_packet (g) >= 0) { return handle_removebp (g); } return 0; }