VirtualBox

Changeset 16110 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jan 21, 2009 1:37:45 AM (16 years ago)
Author:
vboxsync
Message:

HWCMXR0: debugger (dbgf) breakpoints; DEBUG build only for the time being. Corrected a log statment.

File:
1 edited

Legend:

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

    r16084 r16110  
    601601#ifdef VBOX_STRICT
    602602    if (iGate == 0xE)
    603         LogFlow(("VMXR0InjectEvent: Injecting interrupt %d at %RGv error code=%08x CR2=%08x intInfo=%08x\n", iGate, (RTGCPTR)pCtx->rip, errCode, pCtx->cr2, intInfo));
     603        LogFlow(("VMXR0InjectEvent: Injecting interrupt %d at %RGv error code=%08x CR2=%RGv intInfo=%08x\n", iGate, (RTGCPTR)pCtx->rip, errCode, pCtx->cr2, intInfo));
    604604    else
    605605    if (iGate < 0x20)
     
    10881088    }
    10891089
    1090 #ifdef DEBUG
     1090#ifdef DEBUG /* till after branching, enable it by default then. */
    10911091    /* Intercept X86_XCPT_DB if stepping is enabled */
    10921092    if (DBGFIsStepping(pVM))
    10931093        u32TrapMask |= RT_BIT(X86_XCPT_DB);
     1094    /** @todo Don't trap it unless the debugger has armed breakpoints.  */
     1095    u32TrapMask |= RT_BIT(X86_XCPT_BP);
    10941096#endif
    10951097
     
    25032505                break;
    25042506            }
     2507
     2508#ifdef DEBUG /* till after branching, enable by default after that. */
     2509            case X86_XCPT_BP:   /* Breakpoint. */
     2510            {
     2511                rc = DBGFR0Trap03Handler(pVM, CPUMCTX2CORE(pCtx));
     2512                if (rc == VINF_EM_RAW_GUEST_TRAP)
     2513                {
     2514                    Log(("Guest #BP at %04x:%RGv\n", pCtx->cs, pCtx->rip));
     2515                    rc = VMXR0InjectEvent(pVM, pVCpu, pCtx, VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(intInfo), cbInstr, errCode);
     2516                    AssertRC(rc);
     2517                    goto ResumeExecution;
     2518                }
     2519                if (rc == VINF_SUCCESS)
     2520                    goto ResumeExecution;
     2521                Log(("Debugger BP at %04x:%RGv (rc=%Rrc)\n", pCtx->cs, pCtx->rip, rc));
     2522                break;
     2523            }
     2524#endif
    25052525
    25062526            case X86_XCPT_GP:   /* General protection failure exception.*/
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