summaryrefslogtreecommitdiffstats
path: root/debugger.h
diff options
context:
space:
mode:
Diffstat (limited to 'debugger.h')
-rw-r--r--debugger.h30
1 files changed, 16 insertions, 14 deletions
diff --git a/debugger.h b/debugger.h
index 2705f92..ef08d43 100644
--- a/debugger.h
+++ b/debugger.h
@@ -12,6 +12,7 @@ struct breakpoint {
unsigned long text;
int installed;
int hits;
+ int user;
unsigned long stack;
pid_t tid;
@@ -28,7 +29,6 @@ struct map {
struct state {
LINKEDLIST;
struct user_regs_struct regs;
- struct user_fpregs_struct fpregs;
struct list maps;
};
@@ -36,8 +36,9 @@ struct process {
LINKEDLIST;
pid_t id;
int child;
- struct list threads;
struct list breakpoints;
+ struct list threads;
+ char status[128];
};
struct thread {
@@ -52,24 +53,25 @@ struct thread {
int stopped;
int signal;
int cont;
+ int shouldcont;
- const char *status;
+ char status[128];
};
-//extern struct list global_processes;
-//extern struct thread *global_thread;
-
-extern void add_breakpoint(struct process *proc, unsigned long address, unsigned long stack, pid_t tid, int enabled);
-extern int is_breakpoint(struct process *proc, unsigned long address);
+extern struct breakpoint*add_breakpoint(struct process*proc,unsigned long address);
+extern struct breakpoint*get_breakpoint(struct process*proc,unsigned long address);
extern struct process *dbg_attach(pid_t pid, int child);
-extern int dbg_detach(struct process *proc);
-extern int dbg_wait(struct thread *th, int recursion);
+extern void dbg_detach(struct process *proc);
+extern int dbg_free(struct thread *th);
+
+extern int dbg_wait(struct thread *th, int primary);
extern int dbg_intr(struct thread *th);
-extern int dbg_cont(struct thread *th, int cont);
-extern int dbg_realcont(struct thread *th);
-extern int dbg_step(struct thread *th, int stepover);
-extern int dbg_pets(struct thread *th);
+extern int dbg_cont(struct thread *th);
+extern int dbg_syscall(struct thread *th);
+extern int dbg_stepin(struct thread *th);
+extern int dbg_stepover(struct thread *th);
+extern int dbg_stepback(struct thread *th);
extern void *deref(struct thread *th, unsigned long address, size_t size);