On Sun, Dec 22, 2002 at 09:51:59PM -0500, John wrote:
> After the interupt (from the child issuing a PT_TRACE_ME
> ptrace() call, you need to call i386_clr_watch().
> 
> At this point, you can single step the process using
> ptrace(PT_STEP), or by calling i386_set_watch() with
> a new address (type DBREG_DR7_EXEC), and then calling
> ptrace(PT_CONTINUE). Note: this all assumes you are
> getting and putting the debug registers correctly.
> 
> Hope this helps. It's been a while since I've looked
> at this stuff... somewhere I've got a sample program
> that traces dynamic image loads. If I can find it I'll
> hang it off website.
> 
> -john

Mmh, that's the method I try to avoid :), according to me it's 'ugly' :) since
that need a big if() hack to handle the break issuing from a PT_STEP without
mixing it with an user wanted breakpoint. I'd rather trying to access the
'trap frame' if it's possible, otherwise I'll do the single-step-ugly-hack
method :)

-- Aurelien

Attachment: msg38821/pgp00000.pgp
Description: PGP signature

Reply via email to