forked from qt-creator/qt-creator
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:
@@ -1281,8 +1281,6 @@ class Dumper(DumperBase):
|
|||||||
self.reportStackTop()
|
self.reportStackTop()
|
||||||
self.reportThreads()
|
self.reportThreads()
|
||||||
self.reportLocation()
|
self.reportLocation()
|
||||||
self.reportVariables()
|
|
||||||
self.reportRegisters()
|
|
||||||
self.reportChangedBreakpoints()
|
self.reportChangedBreakpoints()
|
||||||
elif type == lldb.SBProcess.eBroadcastBitInterrupt:
|
elif type == lldb.SBProcess.eBroadcastBitInterrupt:
|
||||||
pass
|
pass
|
||||||
@@ -1556,7 +1554,6 @@ class Dumper(DumperBase):
|
|||||||
state = self.process.GetState()
|
state = self.process.GetState()
|
||||||
if state == lldb.eStateStopped:
|
if state == lldb.eStateStopped:
|
||||||
self.reportStackPosition()
|
self.reportStackPosition()
|
||||||
self.reportVariables()
|
|
||||||
|
|
||||||
def selectThread(self, args):
|
def selectThread(self, args):
|
||||||
self.process.SetSelectedThreadByID(args['id'])
|
self.process.SetSelectedThreadByID(args['id'])
|
||||||
|
|||||||
@@ -320,7 +320,6 @@ void LldbEngine::setupInferior()
|
|||||||
}
|
}
|
||||||
|
|
||||||
runCommand(cmd);
|
runCommand(cmd);
|
||||||
updateLocals(); // update display options
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LldbEngine::runEngine()
|
void LldbEngine::runEngine()
|
||||||
@@ -493,6 +492,8 @@ void LldbEngine::activateFrame(int frameIndex)
|
|||||||
cmd.arg("thread", threadsHandler()->currentThread().raw());
|
cmd.arg("thread", threadsHandler()->currentThread().raw());
|
||||||
cmd.arg("stacklimit", limit);
|
cmd.arg("stacklimit", limit);
|
||||||
runCommand(cmd);
|
runCommand(cmd);
|
||||||
|
|
||||||
|
updateAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LldbEngine::selectThread(ThreadId threadId)
|
void LldbEngine::selectThread(ThreadId threadId)
|
||||||
@@ -872,6 +873,7 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
|
|||||||
|
|
||||||
void LldbEngine::updateAll()
|
void LldbEngine::updateAll()
|
||||||
{
|
{
|
||||||
|
reloadRegisters();
|
||||||
updateLocals();
|
updateLocals();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1181,6 +1183,8 @@ void LldbEngine::refreshState(const GdbMi &reportedState)
|
|||||||
if (m_continueAtNextSpontaneousStop) {
|
if (m_continueAtNextSpontaneousStop) {
|
||||||
m_continueAtNextSpontaneousStop = false;
|
m_continueAtNextSpontaneousStop = false;
|
||||||
continueInferior();
|
continueInferior();
|
||||||
|
} else {
|
||||||
|
updateAll();
|
||||||
}
|
}
|
||||||
} else if (newState == "inferiorstopok")
|
} else if (newState == "inferiorstopok")
|
||||||
notifyInferiorStopOk();
|
notifyInferiorStopOk();
|
||||||
|
|||||||
@@ -184,7 +184,6 @@ private:
|
|||||||
|
|
||||||
typedef void (LldbEngine::*LldbCommandContinuation)();
|
typedef void (LldbEngine::*LldbCommandContinuation)();
|
||||||
|
|
||||||
void handleStop(const QByteArray &response);
|
|
||||||
void handleListLocals(const QByteArray &response);
|
void handleListLocals(const QByteArray &response);
|
||||||
void handleListModules(const QByteArray &response);
|
void handleListModules(const QByteArray &response);
|
||||||
void handleListSymbols(const QByteArray &response);
|
void handleListSymbols(const QByteArray &response);
|
||||||
|
|||||||
Reference in New Issue
Block a user