diff options
Diffstat (limited to 'debugger.h')
-rw-r--r-- | debugger.h | 30 |
1 files changed, 16 insertions, 14 deletions
@@ -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); |