Commit 21150df9 authored by David Schulz's avatar David Schulz

Debugger: Enable noisy symbol loading when verbose log is enabled.

Change-Id: I0dda7f5ef471f3cb6379e4dda2900e4c8c0f87cb
Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@digia.com>
parent 0b6d8a1d
......@@ -346,7 +346,9 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp) :
m_currentBuiltinCommandIndex(-1),
m_extensionCommandPrefixBA("!" QT_CREATOR_CDB_EXT "."),
m_operateByInstructionPending(true),
m_verboseLogPending(true),
m_operateByInstruction(true), // Default CDB setting
m_verboseLog(false), // Default CDB setting
m_notifyEngineShutdownOnTermination(false),
m_hasDebuggee(false),
m_cdbIs64Bit(false),
......@@ -359,7 +361,8 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp) :
{
connect(debuggerCore()->action(OperateByInstruction), SIGNAL(triggered(bool)),
this, SLOT(operateByInstructionTriggered(bool)));
connect(debuggerCore()->action(VerboseLog), SIGNAL(triggered(bool)),
this, SLOT(verboseLogTriggered(bool)));
setObjectName(QLatin1String("CdbEngine"));
connect(&m_process, SIGNAL(finished(int)), this, SLOT(processFinished()));
connect(&m_process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processError()));
......@@ -376,7 +379,9 @@ void CdbEngine::init()
m_nextCommandToken = 0;
m_currentBuiltinCommandIndex = -1;
m_operateByInstructionPending = debuggerCore()->action(OperateByInstruction)->isChecked();
m_verboseLogPending = debuggerCore()->boolSetting(VerboseLog);
m_operateByInstruction = true; // Default CDB setting
m_verboseLog = false; // Default CDB setting
m_notifyEngineShutdownOnTermination = false;
m_hasDebuggee = false;
m_sourceStepInto = false;
......@@ -423,6 +428,13 @@ void CdbEngine::operateByInstructionTriggered(bool operateByInstruction)
syncOperateByInstruction(operateByInstruction);
}
void CdbEngine::verboseLogTriggered(bool verboseLog)
{
m_verboseLogPending = verboseLog;
if (state() == InferiorStopOk)
syncVerboseLog(verboseLog);
}
void CdbEngine::syncOperateByInstruction(bool operateByInstruction)
{
if (debug)
......@@ -435,6 +447,15 @@ void CdbEngine::syncOperateByInstruction(bool operateByInstruction)
postCommand(m_operateByInstruction ? QByteArray("l-s") : QByteArray("l+s"), 0);
}
void CdbEngine::syncVerboseLog(bool verboseLog)
{
if (m_verboseLog == verboseLog)
return;
QTC_ASSERT(m_accessible, return);
m_verboseLog = verboseLog;
postCommand(m_verboseLog ? QByteArray("!sym noisy") : QByteArray("!sym quiet"), 0);
}
bool CdbEngine::setToolTipExpression(const QPoint &mousePos,
TextEditor::ITextEditor *editor,
const DebuggerToolTipContext &contextIn)
......@@ -2120,6 +2141,8 @@ void CdbEngine::handleSessionIdle(const QByteArray &messageBA)
elapsedLogTime(), messageBA.constData(),
stateName(state()), m_specialStopMode);
syncVerboseLog(m_verboseLogPending);
// Switch source level debugging
syncOperateByInstruction(m_operateByInstructionPending);
......
......@@ -148,6 +148,7 @@ private slots:
void postCommandSequence(unsigned mask);
void operateByInstructionTriggered(bool);
void verboseLogTriggered(bool);
void consoleStubError(const QString &);
void consoleStubProcessStarted();
......@@ -199,6 +200,7 @@ private:
inline bool isCdbProcessRunning() const { return m_process.state() != QProcess::NotRunning; }
bool canInterruptInferior() const;
void syncOperateByInstruction(bool operateByInstruction);
void syncVerboseLog(bool verboseLog);
void postWidgetAtCommand();
void handleCustomSpecialStop(const QVariant &v);
void postFetchMemory(const MemoryViewCookie &c);
......@@ -260,6 +262,8 @@ private:
const QByteArray m_extensionCommandPrefixBA; //!< Library name used as prefix
bool m_operateByInstructionPending; //!< Creator operate by instruction action changed.
bool m_operateByInstruction;
bool m_verboseLogPending; //!< Creator verbose log action changed.
bool m_verboseLog;
bool m_notifyEngineShutdownOnTermination;
bool m_hasDebuggee;
bool m_cdbIs64Bit;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment