forked from qt-creator/qt-creator
Debugger: Pass autoderef pointers down to LLDB machinery
Change-Id: I282e78c352066ddd05e96199fd8ead088e3e9f56 Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -504,6 +504,7 @@ class Dumper:
|
||||
self.useLldbDumpers = False
|
||||
self.ns = ""
|
||||
self.autoDerefPointers = True
|
||||
self.useDynamicType = True
|
||||
self.useLoop = True
|
||||
|
||||
self.currentIName = None
|
||||
|
@@ -84,6 +84,17 @@ LldbEngine::LldbEngine(const DebuggerStartParameters &startParameters)
|
||||
m_lastAgentId = 0;
|
||||
m_lastToken = 0;
|
||||
setObjectName(QLatin1String("LldbEngine"));
|
||||
|
||||
connect(debuggerCore()->action(AutoDerefPointers), SIGNAL(valueChanged(QVariant)),
|
||||
SLOT(updateLocals()));
|
||||
connect(debuggerCore()->action(CreateFullBacktrace), SIGNAL(triggered()),
|
||||
SLOT(updateAll()));
|
||||
connect(debuggerCore()->action(UseDebuggingHelpers), SIGNAL(valueChanged(QVariant)),
|
||||
SLOT(updateLocals()));
|
||||
connect(debuggerCore()->action(UseDynamicType), SIGNAL(valueChanged(QVariant)),
|
||||
SLOT(updateLocals()));
|
||||
connect(debuggerCore()->action(IntelFlavor), SIGNAL(valueChanged(QVariant)),
|
||||
SLOT(updateAll()));
|
||||
}
|
||||
|
||||
LldbEngine::~LldbEngine()
|
||||
@@ -654,6 +665,10 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
|
||||
return false;
|
||||
}
|
||||
|
||||
void LldbEngine::updateAll()
|
||||
{
|
||||
updateLocals();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -677,6 +692,11 @@ void LldbEngine::updateWatchData(const WatchData &data, const WatchUpdateFlags &
|
||||
{
|
||||
Q_UNUSED(data);
|
||||
Q_UNUSED(flags);
|
||||
updateLocals();
|
||||
}
|
||||
|
||||
void LldbEngine::updateLocals()
|
||||
{
|
||||
WatchHandler *handler = watchHandler();
|
||||
|
||||
Command cmd("updateData");
|
||||
@@ -873,11 +893,6 @@ QByteArray LldbEngine::currentOptions() const
|
||||
return result;
|
||||
}
|
||||
|
||||
void LldbEngine::updateAll()
|
||||
{
|
||||
runCommand("reportData");
|
||||
}
|
||||
|
||||
void LldbEngine::refreshLocals(const GdbMi &vars)
|
||||
{
|
||||
//const bool partial = response.cookie.toBool();
|
||||
|
@@ -153,6 +153,8 @@ private:
|
||||
Q_SLOT void readLldbStandardError();
|
||||
Q_SLOT void handleResponse(const QByteArray &data);
|
||||
Q_SLOT void runEngine2();
|
||||
Q_SLOT void updateAll();
|
||||
Q_SLOT void updateLocals();
|
||||
void refreshAll(const GdbMi &all);
|
||||
void refreshThreads(const GdbMi &threads);
|
||||
void refreshStack(const GdbMi &stack);
|
||||
@@ -167,8 +169,6 @@ private:
|
||||
void refreshBreakpoints(const GdbMi &bkpts);
|
||||
void runContinuation(const GdbMi &data);
|
||||
|
||||
void updateAll();
|
||||
|
||||
typedef void (LldbEngine::*LldbCommandContinuation)();
|
||||
|
||||
QByteArray currentOptions() const;
|
||||
|
Reference in New Issue
Block a user