Re: debug registers

From: Matt Taylor (para_at_tampabay.rr.com)
Date: 04/29/04


Date: Thu, 29 Apr 2004 05:51:23 +0000 (UTC)


"Wendy E. McCaughrin" <wemccaug@bluestem.prairienet.org> wrote in message
news:c6p98v$r4$1@wildfire.prairienet.org...
> Can the debug registers (DR0...DR3 for breakpoint, D6,D7) be used to
> monitor another program for a certain instruction to execute? E.g.,
> say I wanted a program to monitor a child process for execution of
> a LIDT instruction: I can do that without the debug regs easily
> enough, but is there a more efficient way with them?

No, not for a specific instruction. The debug registers are for
breakpointing on access to a specific address (execute, read, or
read/write). If the child process is not privileged (as I would assume),
then it will fault and you can use whatever debug mechanism your OS gives
you to watch for that.

-Matt



Relevant Pages

  • Re: Why do Intels processors provide four debug registers rather than only one?
    ... there are four debug registers inside ... to executes the instruction at address 5, ... What makes you think that the program will execute the instruction at 5 ...
    (comp.lang.asm.x86)
  • Re: Is there a open souce IDE writen by C( C++) or partly writen by C( C++)?
    ... Of course, python scripts debugger ... you've got to open the debug dialog. ... Step means your program would execute the next ... instruction, Over means your program would execute until the next ...
    (comp.lang.python)
  • Re: Re: debug registers
    ... >> monitor another program for a certain instruction to execute? ... not for a specific instruction. ... If the child process is not privileged, ...
    (comp.lang.asm.x86)
  • debug registers
    ... Can the debug registers be used to ... monitor another program for a certain instruction to execute? ... a LIDT instruction: I can do that without the debug regs easily ...
    (comp.lang.asm.x86)
  • Re: programming language
    ... you will find the source code to my bf interpreter. ... instruction_pointer is the index of the instruction currently being executed in the instruction array. ... execute() is where the action happens. ... executegets a pointer to a bf_vm, where it executes one instruction, increments the instruction pointer of the bf_vm so that it points to the next instruction (or does a loop), and returns. ...
    (comp.programming)