int gdbr_step(libgdbr_t *g, int tid) { char thread_id[64]; if (write_thread_id (thread_id, sizeof (thread_id) - 1, g->pid, tid, g->stub_features.multiprocess) < 0) { return send_vcont (g, CMD_C_STEP, NULL); } return send_vcont (g, CMD_C_STEP, thread_id); }
int gdbr_step(libgdbr_t *g, int tid) { char thread_id[64] = {0}; if (tid <= 0 || write_thread_id (thread_id, sizeof (thread_id) - 1, g->pid, tid, g->stub_features.multiprocess) < 0) { send_vcont (g, "vCont?", NULL); send_vcont (g, "Hc0", NULL); return send_vcont (g, CMD_C_STEP, NULL); } return send_vcont (g, CMD_C_STEP, thread_id); }
int gdbr_continue(libgdbr_t *g, int pid, int tid, int sig) { char thread_id[64] = { 0 }; char command[16] = { 0 }; if (sig <= 0) { strncpy (command, CMD_C_CONT, sizeof (command) - 1); } else { snprintf (command, sizeof (command) - 1, "%s%02x", CMD_C_CONT_SIG, sig); } if (write_thread_id (thread_id, sizeof (thread_id) - 1, g->pid, tid, g->stub_features.multiprocess) < 0) { return send_vcont (g, command, NULL); } return send_vcont (g, command, thread_id); }
int gdbr_continue(libgdbr_t* g, int thread_id) { return send_vcont (g, CMD_C_CONT, thread_id); }
int gdbr_step(libgdbr_t* g, int thread_id) { return send_vcont (g, CMD_C_STEP, thread_id); }