Debugger: New breakpoint types in CDB.

Emulate exec() by breaking on CreateProcessW().
This commit is contained in:
Friedemann Kleint
2011-03-07 11:02:07 +01:00
parent c9c10aa41f
commit fcdbdcaee0
4 changed files with 62 additions and 41 deletions

View File

@@ -2264,7 +2264,26 @@ bool CdbEngine::stateAcceptsBreakpointChanges() const
bool CdbEngine::acceptsBreakpoint(BreakpointId id) const
{
return DebuggerEngine::isCppBreakpoint(breakHandler()->breakpointData(id));
const BreakpointParameters &data = breakHandler()->breakpointData(id);
if (!DebuggerEngine::isCppBreakpoint(data))
return false;
switch (data.type) {
case UnknownType:
case BreakpointAtFork:
case BreakpointAtVFork:
case BreakpointAtSysCall:
return false;
case Watchpoint:
case BreakpointByFileAndLine:
case BreakpointByFunction:
case BreakpointByAddress:
case BreakpointAtThrow:
case BreakpointAtCatch:
case BreakpointAtMain:
case BreakpointAtExec:
break;
}
return true;
}
void CdbEngine::attemptBreakpointSynchronization()