Re: Debugging shareable images weirdness - VMS

This is a discussion on Re: Debugging shareable images weirdness - VMS ; VAXman- @SendSpamHere.ORG wrote: > In article , John Reagan writes: >> >> VAXman- @SendSpamHere.ORG wrote: >> >>> * The Alpha uses a PALcode to implement the BPT. I don't have the IA64 >>> instruction manual before me but it too ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Re: Debugging shareable images weirdness

  1. Re: Debugging shareable images weirdness

    VAXman- @SendSpamHere.ORG wrote:
    > In article , John Reagan writes:
    >>
    >> VAXman- @SendSpamHere.ORG wrote:
    >>
    >>> * The Alpha uses a PALcode to implement the BPT. I don't have the IA64
    >>> instruction manual before me but it too has a similar mechanism.
    >>>

    >> The Itanium has an instruction called "break" that takes a literal
    >> argument. One of those literal values has been reserved for breakpoint.
    >> To set a breakpoint, the debugger rewrites the appropriate bundle with
    >> a break instruction in one of the slots.

    >
    > I knew there was an instruction but I did not recall the specifics as
    > to whether it was a whole bundle supplanted or just an instruction in
    > the bundle.
    >
    > Generally, it needs to modify the instruction stream as with the Alpha
    > and the VAX.



    It's been a long time since I looked (VMS V5 time-frame?), but IIRC, if
    it is necessary to set a breakpoint in a global page, DEBUG makes a
    private, process local copy of the page and sets the breakpoint there.

    I don't remember if DEBUG does this explicitly or if the creation of the
    local copy is a side effect of changing the protection on the page.

    I also don't remember what happens if the page is a global, writable
    page. (The thought of such a page containing code is not comforting.)

    Note that this was for the VAX. I have not checked the mechanism for
    Alpha or Itanium.

    --
    -----------------------------------------------------------------------
    Chris Scheers, Applied Synergy, Inc.

    Voice: 817-237-3360 Internet: chris@applied-synergy.com
    Fax: 817-237-3074

  2. Re: Debugging shareable images weirdness

    Chris Scheers wrote:
    > It's been a long time since I looked (VMS V5 time-frame?), but IIRC, if
    > it is necessary to set a breakpoint in a global page, DEBUG makes a
    > private, process local copy of the page and sets the breakpoint there.


    Right. It still does.


    > I don't remember if DEBUG does this explicitly or if the creation of the
    > local copy is a side effect of changing the protection on the page.


    It's an explicit action by DEBUG.


    > I also don't remember what happens if the page is a global, writable
    > page. (The thought of such a page containing code is not comforting.)


    If the page is writable, then DEBUG can write a breakpoint. Others
    executing the same code would see the break, too.


    > Note that this was for the VAX. I have not checked the mechanism for
    > Alpha or Itanium.


    The same, though for Itanium there is one more trick we can use if all
    the others fail: hardware breakpoint registers.

    -Jeff

+ Reply to Thread