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.useLldbDumpers = False
|
||||||
self.ns = ""
|
self.ns = ""
|
||||||
self.autoDerefPointers = True
|
self.autoDerefPointers = True
|
||||||
|
self.useDynamicType = True
|
||||||
self.useLoop = True
|
self.useLoop = True
|
||||||
|
|
||||||
self.currentIName = None
|
self.currentIName = None
|
||||||
|
@@ -84,6 +84,17 @@ LldbEngine::LldbEngine(const DebuggerStartParameters &startParameters)
|
|||||||
m_lastAgentId = 0;
|
m_lastAgentId = 0;
|
||||||
m_lastToken = 0;
|
m_lastToken = 0;
|
||||||
setObjectName(QLatin1String("LldbEngine"));
|
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()
|
LldbEngine::~LldbEngine()
|
||||||
@@ -654,6 +665,10 @@ bool LldbEngine::setToolTipExpression(const QPoint &mousePos,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LldbEngine::updateAll()
|
||||||
|
{
|
||||||
|
updateLocals();
|
||||||
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@@ -677,6 +692,11 @@ void LldbEngine::updateWatchData(const WatchData &data, const WatchUpdateFlags &
|
|||||||
{
|
{
|
||||||
Q_UNUSED(data);
|
Q_UNUSED(data);
|
||||||
Q_UNUSED(flags);
|
Q_UNUSED(flags);
|
||||||
|
updateLocals();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LldbEngine::updateLocals()
|
||||||
|
{
|
||||||
WatchHandler *handler = watchHandler();
|
WatchHandler *handler = watchHandler();
|
||||||
|
|
||||||
Command cmd("updateData");
|
Command cmd("updateData");
|
||||||
@@ -873,11 +893,6 @@ QByteArray LldbEngine::currentOptions() const
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LldbEngine::updateAll()
|
|
||||||
{
|
|
||||||
runCommand("reportData");
|
|
||||||
}
|
|
||||||
|
|
||||||
void LldbEngine::refreshLocals(const GdbMi &vars)
|
void LldbEngine::refreshLocals(const GdbMi &vars)
|
||||||
{
|
{
|
||||||
//const bool partial = response.cookie.toBool();
|
//const bool partial = response.cookie.toBool();
|
||||||
|
@@ -153,6 +153,8 @@ private:
|
|||||||
Q_SLOT void readLldbStandardError();
|
Q_SLOT void readLldbStandardError();
|
||||||
Q_SLOT void handleResponse(const QByteArray &data);
|
Q_SLOT void handleResponse(const QByteArray &data);
|
||||||
Q_SLOT void runEngine2();
|
Q_SLOT void runEngine2();
|
||||||
|
Q_SLOT void updateAll();
|
||||||
|
Q_SLOT void updateLocals();
|
||||||
void refreshAll(const GdbMi &all);
|
void refreshAll(const GdbMi &all);
|
||||||
void refreshThreads(const GdbMi &threads);
|
void refreshThreads(const GdbMi &threads);
|
||||||
void refreshStack(const GdbMi &stack);
|
void refreshStack(const GdbMi &stack);
|
||||||
@@ -167,8 +169,6 @@ private:
|
|||||||
void refreshBreakpoints(const GdbMi &bkpts);
|
void refreshBreakpoints(const GdbMi &bkpts);
|
||||||
void runContinuation(const GdbMi &data);
|
void runContinuation(const GdbMi &data);
|
||||||
|
|
||||||
void updateAll();
|
|
||||||
|
|
||||||
typedef void (LldbEngine::*LldbCommandContinuation)();
|
typedef void (LldbEngine::*LldbCommandContinuation)();
|
||||||
|
|
||||||
QByteArray currentOptions() const;
|
QByteArray currentOptions() const;
|
||||||
|
Reference in New Issue
Block a user