Debugger: Add basic breakpoint handling and stepping to LLDB backend

Change-Id: Ib700afa63739e6d26bdd97225265559d7112eadb
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2013-04-09 10:59:36 +02:00
parent 46b9c03cbc
commit 87f2d83ec2
10 changed files with 496 additions and 139 deletions

View File

@@ -60,6 +60,18 @@ QDebug operator<<(QDebug d, const BreakpointModelId &id)
return d;
}
BreakpointModelId::BreakpointModelId(const QByteArray &ba)
{
int pos = ba.indexOf('\'');
if (pos == -1) {
m_majorPart = ba.toUShort();
m_minorPart = 0;
} else {
m_majorPart = ba.left(pos).toUShort();
m_minorPart = ba.mid(pos + 1).toUShort();
}
}
QByteArray BreakpointModelId::toByteArray() const
{
if (!isValid())
@@ -239,7 +251,8 @@ bool BreakpointParameters::isValid() const
break;
case WatchpointAtExpression:
return !expression.isEmpty();
case UnknownType:
case UnknownBreakpointType:
case LastBreakpointType:
return false;
}
return true;
@@ -315,10 +328,10 @@ QString BreakpointParameters::toString() const
case BreakpointAtMain:
case BreakpointAtFork:
case BreakpointAtExec:
//case BreakpointAtVFork:
case BreakpointAtSysCall:
case BreakpointAtJavaScriptThrow:
case UnknownType:
case UnknownBreakpointType:
case LastBreakpointType:
break;
}
ts << (enabled ? " [enabled]" : " [disabled]");