summaryrefslogtreecommitdiffstats
path: root/debugger.c
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2023-09-28 15:05:51 -0400
committerMalfurious <m@lfurio.us>2024-04-24 13:31:08 -0400
commit41945242524f9ecc795138fdb5beb31362f7826a (patch)
tree2ebc530fce27be7918606ac47d0c32c669502226 /debugger.c
parent5e20ea14800abaa62b15fcf2bb8462e5661ffdc7 (diff)
downloadmisplays-41945242524f9ecc795138fdb5beb31362f7826a.tar.gz
misplays-41945242524f9ecc795138fdb5beb31362f7826a.zip
dbg_realcont for testing purposes
Signed-off-by: Malfurious <m@lfurio.us>
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) {