Debugger: Let creator trigger the locals update also with LLDB

Makes the code path more similar to the GDB side and allows
skipping register refreshs when the view is invisible.

Change-Id: Ia9210ee1709dbc5c9c7a6870bf8a54484261fee0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
hjk
2014-03-11 15:49:34 +01:00
parent 2d70c2e212
commit 4202b94dbf
3 changed files with 5 additions and 5 deletions

View File

@@ -1281,8 +1281,6 @@ class Dumper(DumperBase):
self.reportStackTop()
self.reportThreads()
self.reportLocation()
self.reportVariables()
self.reportRegisters()
self.reportChangedBreakpoints()
elif type == lldb.SBProcess.eBroadcastBitInterrupt:
pass
@@ -1556,7 +1554,6 @@ class Dumper(DumperBase):
state = self.process.GetState()
if state == lldb.eStateStopped:
self.reportStackPosition()
self.reportVariables()
def selectThread(self, args):
self.process.SetSelectedThreadByID(args['id'])

View File

@@ -320,7 +320,6 @@ void LldbEngine::setupInferior()
}
runCommand(cmd);
updateLocals(); // update display options
}
void LldbEngine::runEngine()
@@ -493,6 +492,8 @@ void LldbEngine::activateFrame(int frameIndex)
cmd.arg("thread", threadsHandler()->currentThread().raw());
cmd.arg("stacklimit", limit);
runCommand(cmd);
updateAll();
}
void LldbEngine::selectThread(ThreadId threadId)
@@ -872,6 +873,7 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
void LldbEngine::updateAll()
{
reloadRegisters();
updateLocals();
}
@@ -1181,6 +1183,8 @@ void LldbEngine::refreshState(const GdbMi &reportedState)
if (m_continueAtNextSpontaneousStop) {
m_continueAtNextSpontaneousStop = false;
continueInferior();
} else {
updateAll();
}
} else if (newState == "inferiorstopok")
notifyInferiorStopOk();

View File

@@ -184,7 +184,6 @@ private:
typedef void (LldbEngine::*LldbCommandContinuation)();
void handleStop(const QByteArray &response);
void handleListLocals(const QByteArray &response);
void handleListModules(const QByteArray &response);
void handleListSymbols(const QByteArray &response);