VirtualBox

Ignore:
Timestamp:
Jan 20, 2009 10:02:48 PM (16 years ago)
Author:
vboxsync
Message:

DBGFR0Trap03handler: use rip and not eip, pc is accurate and not pointing to the next instruction like in RC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/DBGFR0.cpp

    r14895 r16105  
    6363                pVM->dbgf.s.iActiveBp = pVM->dbgf.s.aHwBreakpoints[iBp].iBp;
    6464                pVM->dbgf.s.fSingleSteppingRaw = false;
    65                 LogFlow(("DBGFR0Trap03Handler: hit hw breakpoint %d at %04x:%08x\n",
    66                          pVM->dbgf.s.aHwBreakpoints[iBp].iBp, pRegFrame->cs, pRegFrame->eip));
     65                LogFlow(("DBGFR0Trap03Handler: hit hw breakpoint %d at %04x:%RGv\n",
     66                         pVM->dbgf.s.aHwBreakpoints[iBp].iBp, pRegFrame->cs, pRegFrame->rip));
    6767
    6868                return VINF_EM_DBG_BREAKPOINT;
     
    7979    {
    8080        pVM->dbgf.s.fSingleSteppingRaw = false;
    81         LogFlow(("DBGFR0Trap01Handler: single step at %04x:%08x\n", pRegFrame->cs, pRegFrame->eip));
     81        LogFlow(("DBGFR0Trap01Handler: single step at %04x:%RGv\n", pRegFrame->cs, pRegFrame->rip));
    8282        return VINF_EM_DBG_STEPPED;
    8383    }
     
    8787     * so we'll bitch if this is not a BS event.
    8888     */
    89     AssertMsg(uDr6 & X86_DR6_BS, ("hey! we're not doing guest BPs yet! dr6=%RTreg %04x:%08x\n",
    90                                   uDr6, pRegFrame->cs, pRegFrame->eip));
     89    AssertMsg(uDr6 & X86_DR6_BS, ("hey! we're not doing guest BPs yet! dr6=%RTreg %04x:%RGv\n",
     90                                  uDr6, pRegFrame->cs, pRegFrame->rip));
    9191    /** @todo virtualize DRx. */
    92     LogFlow(("DBGFR0Trap01Handler: guest debug event %RTreg at %04x:%08x!\n", uDr6, pRegFrame->cs, pRegFrame->eip));
     92    LogFlow(("DBGFR0Trap01Handler: guest debug event %RTreg at %04x:%RGv!\n", uDr6, pRegFrame->cs, pRegFrame->rip));
    9393    return VINF_EM_RAW_GUEST_TRAP;
    9494}
     
    115115        RTGCPTR pPc;
    116116        int rc = SELMValidateAndConvertCSAddr(pVM, pRegFrame->eflags, pRegFrame->ss, pRegFrame->cs, &pRegFrame->csHid,
    117                                               (RTGCPTR)((RTGCUINTPTR)pRegFrame->eip - 1),
    118                                               &pPc);
     117                                              (RTGCPTR)pRegFrame->rip /* no -1 in R0 */, &pPc);
    119118        AssertRCReturn(rc, rc);
    120119
     
    127126                pVM->dbgf.s.iActiveBp = pVM->dbgf.s.aBreakpoints[iBp].iBp;
    128127
    129                 LogFlow(("DBGFR0Trap03Handler: hit breakpoint %d at %RGv (%04x:%08x) cHits=0x%RX64\n",
    130                          pVM->dbgf.s.aBreakpoints[iBp].iBp, pPc, pRegFrame->cs, pRegFrame->eip,
     128                LogFlow(("DBGFR0Trap03Handler: hit breakpoint %d at %RGv (%04x:%RGv) cHits=0x%RX64\n",
     129                         pVM->dbgf.s.aBreakpoints[iBp].iBp, pPc, pRegFrame->cs, pRegFrame->rip,
    131130                         pVM->dbgf.s.aBreakpoints[iBp].cHits));
    132131                return VINF_EM_DBG_BREAKPOINT;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette