summaryrefslogtreecommitdiffstats
path: root/debugger.c
diff options
context:
space:
mode:
Diffstat (limited to 'debugger.c')
-rw-r--r--debugger.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/debugger.c b/debugger.c
index ca774e8..572231c 100644
--- a/debugger.c
+++ b/debugger.c
@@ -499,6 +499,25 @@ int dbg_cont(struct thread *th, int cont) {
return 0;
}
+int dbg_realcont(struct thread *th) {
+ if (th->id < 0 || !th->stopped) {
+ return -1;
+ }
+
+ struct list *threads = &th->proc->threads;
+ for (struct thread *t = threads->head; t != threads->end; t = t->next) {
+ ptrace(PTRACE_CONT, t->id, NULL, NULL);
+
+ t->stopped = 0;
+ t->signal = 0;
+ t->cont = 0;
+ t->status = "RUNNING";
+ t->clearstates = 1;
+ }
+
+ return 0;
+}
+
int dbg_step(struct thread *th, int stepover) {
// todo: support step-out
//if (th->id < 0 || !th->stopped) {