Debugger: Handle manually set catch breakpoint gracefully

Task-number: QTCREATORBUG-10096
Change-Id: Ia9458840247ae1815751e3c58e1f21990af0cc34
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2013-09-19 14:15:58 +02:00
parent a27402c7dc
commit d3d66bb39d
2 changed files with 15 additions and 1 deletions

View File

@@ -2524,6 +2524,18 @@ void GdbEngine::updateResponse(BreakpointResponse &response, const GdbMi &bkpt)
response.type = WatchpointAtExpression;
response.expression = QString::fromLocal8Bit(what);
}
} else if (child.data() == "breakpoint") {
QByteArray catchType = bkpt["catch-type"].data();
if (catchType == "throw")
response.type = BreakpointAtThrow;
else if (catchType == "catch")
response.type = BreakpointAtCatch;
else if (catchType == "fork")
response.type = BreakpointAtFork;
else if (catchType == "exec")
response.type = BreakpointAtExec;
else if (catchType == "syscall")
response.type = BreakpointAtSysCall;
}
} else if (child.hasName("original-location")) {
originalLocation = child.data();