Changeset 58909 in vbox for trunk/src/VBox/VMM/VMMRZ
- Timestamp:
- Nov 29, 2015 7:23:46 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 104409
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMRZ/DBGFRZ.cpp
r58903 r58909 57 57 * A breakpoint? 58 58 */ 59 if (uDr6 & (X86_DR6_B0 | X86_DR6_B1 | X86_DR6_B2 | X86_DR6_B3)) 59 AssertCompile(X86_DR6_B0 == 1 && X86_DR6_B1 == 2 && X86_DR6_B2 == 4 && X86_DR6_B3 == 8); 60 if ( (uDr6 & (X86_DR6_B0 | X86_DR6_B1 | X86_DR6_B2 | X86_DR6_B3)) 61 && pVM->dbgf.s.cEnabledHwBreakpoints > 0) 60 62 { 61 Assert(X86_DR6_B0 == 1 && X86_DR6_B1 == 2 && X86_DR6_B2 == 4 && X86_DR6_B3 == 8);62 63 for (unsigned iBp = 0; iBp < RT_ELEMENTS(pVM->dbgf.s.aHwBreakpoints); iBp++) 63 64 { … … 125 126 * Don't bother if we don't have any breakpoints. 126 127 */ 127 if (pVM->dbgf.s.cBreakpoints > 0) 128 unsigned cToSearch = pVM->dbgf.s.Int3.cToSearch; 129 if (cToSearch > 0) 128 130 { 129 131 RTGCPTR pPc; … … 137 139 AssertRCReturn(rc, rc); 138 140 139 for (unsigned iBp = 0; iBp < RT_ELEMENTS(pVM->dbgf.s.aBreakpoints); iBp++) 141 unsigned iBp = pVM->dbgf.s.Int3.iStartSearch; 142 while (cToSearch-- > 0) 140 143 { 141 if ( 142 && 144 if ( pVM->dbgf.s.aBreakpoints[iBp].u.GCPtr == (RTGCUINTPTR)pPc 145 && pVM->dbgf.s.aBreakpoints[iBp].enmType == DBGFBPTYPE_INT3) 143 146 { 144 147 pVM->dbgf.s.aBreakpoints[iBp].cHits++; … … 152 155 : VINF_EM_DBG_BREAKPOINT; 153 156 } 157 iBp++; 154 158 } 155 159 }
Note:
See TracChangeset
for help on using the changeset viewer.