Debugger: Make Watchers work with LLDB

Change-Id: Ie39a38c6646c3c19819e2c122d7f8be285eae09e
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2013-11-05 09:45:38 +01:00
parent fbd3f73594
commit 6f10a1cb23
3 changed files with 14 additions and 29 deletions

View File

@@ -187,7 +187,6 @@ void LldbEngine::setupInferior()
? sp.remoteChannel : QString()));
cmd.arg("platform", sp.platform);
runCommand(cmd);
requestUpdateWatchers();
updateLocals(); // update display options
}
@@ -730,8 +729,6 @@ void LldbEngine::updateLocals()
{
WatchHandler *handler = watchHandler();
//requestUpdateWatchers();
Command cmd("updateData");
cmd.arg("expanded", handler->expansionRequests());
cmd.arg("typeformats", handler->typeFormatRequests());
@@ -776,6 +773,18 @@ void LldbEngine::updateLocals()
cmd.arg("fancy", debuggerCore()->boolSetting(UseDebuggingHelpers));
cmd.arg("autoderef", debuggerCore()->boolSetting(AutoDerefPointers));
cmd.arg("dyntype", debuggerCore()->boolSetting(UseDynamicType));
cmd.beginList("watchers");
QHashIterator<QByteArray, int> it(WatchHandler::watcherNames());
while (it.hasNext()) {
it.next();
cmd.beginGroup()
.arg("iname", "watch." + QByteArray::number(it.value()))
.arg("exp", it.key().toHex())
.endGroup();
}
cmd.endList();
//cmd.arg("partial", ??)
//cmd.arg("tooltipOnly", ??)
//cmd.arg("resultvarname", m_resultVarName);
@@ -862,22 +871,6 @@ void LldbEngine::readLldbStandardOutput()
}
}
void LldbEngine::requestUpdateWatchers()
{
QHashIterator<QByteArray, int> it(WatchHandler::watcherNames());
QList<QByteArray> watcherData;
while (it.hasNext()) {
it.next();
QHash<QByteArray, QByteArray> hash;
hash["iname"] = "\"watch." + QByteArray::number(it.value()) + '"';
hash["exp"] = '"' + it.key().toHex() + '"';
watcherData.append(Command::toData(hash));
}
Command cmd("setWatchers");
cmd.args.append("\"watchers\":" + Command::toData(watcherData) + ',');
runCommand(cmd);
}
void LldbEngine::refreshLocals(const GdbMi &vars)
{
//const bool partial = response.cookie.toBool();