Debugger: Reduce line noise

Move some function out of the DebuggerCore "namespace", to avoid one
indirection and removes clutter in the calling code.

Change-Id: I1c870d5c7eeade32fa63dedf581490fbb090cd6a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2014-07-28 14:23:52 +02:00
parent 15fcdabc1d
commit 5ac407eecc
30 changed files with 286 additions and 325 deletions
+4 -5
View File
@@ -336,15 +336,14 @@ void BreakHandler::saveBreakpoints()
map.insert(_("message"), data.message);
list.append(map);
}
DebuggerCore::setSessionValue("Breakpoints", list);
setSessionValue("Breakpoints", list);
//qDebug() << "SAVED BREAKPOINTS" << this << list.size();
}
void BreakHandler::loadBreakpoints()
{
QTC_ASSERT(debuggerCore(), return);
//qDebug() << "LOADING BREAKPOINTS...";
QVariant value = DebuggerCore::sessionValue("Breakpoints");
QVariant value = sessionValue("Breakpoints");
QList<QVariant> list = value.toList();
//clear();
foreach (const QVariant &var, list) {
@@ -686,7 +685,7 @@ QVariant BreakHandler::data(const QModelIndex &mi, int role) const
}
switch (role) {
case Qt::ToolTipRole:
if (debuggerCore()->boolSetting(UseToolTipsInBreakpointsView))
if (boolSetting(UseToolTipsInBreakpointsView))
return QVariant(it->toToolTip());
break;
}
@@ -1217,7 +1216,7 @@ void BreakHandler::gotoLocation(BreakpointModelId id) const
{
ConstIterator it = m_storage.find(id);
BREAK_ASSERT(it != m_storage.end(), return);
DebuggerEngine *engine = debuggerCore()->currentEngine();
DebuggerEngine *engine = currentEngine();
if (it->data.type == BreakpointByAddress) {
if (engine)
engine->gotoLocation(it->data.address);
+6 -6
View File
@@ -655,7 +655,7 @@ MultiBreakPointsDialog::MultiBreakPointsDialog(QWidget *parent) :
m_buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
QFormLayout *formLayout = new QFormLayout;
if (debuggerCore()->currentEngine()->hasCapability(BreakConditionCapability))
if (currentEngine()->hasCapability(BreakConditionCapability))
formLayout->addRow(tr("&Condition:"), m_lineEditCondition);
formLayout->addRow(tr("&Ignore count:"), m_spinBoxIgnoreCount);
formLayout->addRow(tr("&Thread specification:"), m_lineEditThreadSpec);
@@ -678,7 +678,7 @@ BreakTreeView::BreakTreeView()
{
setWindowIcon(QIcon(QLatin1String(":/debugger/images/debugger_breakpoints.png")));
setSelectionMode(QAbstractItemView::ExtendedSelection);
connect(debuggerCore()->action(UseAddressInBreakpointsView),
connect(action(UseAddressInBreakpointsView),
SIGNAL(toggled(bool)), SLOT(showAddressColumn(bool)));
}
@@ -816,11 +816,11 @@ void BreakTreeView::contextMenuEvent(QContextMenuEvent *ev)
menu.addSeparator();
menu.addAction(synchronizeAction);
menu.addSeparator();
menu.addAction(debuggerCore()->action(UseToolTipsInBreakpointsView));
if (debuggerCore()->currentEngine()->hasCapability(MemoryAddressCapability))
menu.addAction(debuggerCore()->action(UseAddressInBreakpointsView));
menu.addAction(action(UseToolTipsInBreakpointsView));
if (currentEngine()->hasCapability(MemoryAddressCapability))
menu.addAction(action(UseAddressInBreakpointsView));
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
QAction *act = menu.exec(ev->globalPos());
+23 -24
View File
@@ -195,7 +195,7 @@ namespace Internal {
static inline bool isCreatorConsole(const DebuggerStartParameters &sp)
{
return !debuggerCore()->boolSetting(UseCdbConsole) && sp.useTerminal
return !boolSetting(UseCdbConsole) && sp.useTerminal
&& (sp.startMode == StartInternal || sp.startMode == StartExternal);
}
@@ -345,11 +345,11 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp) :
m_watchPointY(0),
m_ignoreCdbOutput(false)
{
connect(debuggerCore()->action(OperateByInstruction), SIGNAL(triggered(bool)),
connect(action(OperateByInstruction), SIGNAL(triggered(bool)),
this, SLOT(operateByInstructionTriggered(bool)));
connect(debuggerCore()->action(VerboseLog), SIGNAL(triggered(bool)),
connect(action(VerboseLog), SIGNAL(triggered(bool)),
this, SLOT(verboseLogTriggered(bool)));
connect(debuggerCore()->action(CreateFullBacktrace), SIGNAL(triggered()),
connect(action(CreateFullBacktrace), SIGNAL(triggered()),
this, SLOT(createFullBacktrace()));
setObjectName(QLatin1String("CdbEngine"));
connect(&m_process, SIGNAL(finished(int)), this, SLOT(processFinished()));
@@ -366,8 +366,8 @@ void CdbEngine::init()
m_specialStopMode = NoSpecialStop;
m_nextCommandToken = 0;
m_currentBuiltinCommandIndex = -1;
m_operateByInstructionPending = debuggerCore()->action(OperateByInstruction)->isChecked();
m_verboseLogPending = debuggerCore()->boolSetting(VerboseLog);
m_operateByInstructionPending = action(OperateByInstruction)->isChecked();
m_verboseLogPending = boolSetting(VerboseLog);
m_operateByInstruction = true; // Default CDB setting
m_verboseLog = false; // Default CDB setting
m_notifyEngineShutdownOnTermination = false;
@@ -597,9 +597,9 @@ void CdbEngine::setupEngine()
if (debug)
qDebug(">setupEngine");
// Nag to add symbol server and cache
QStringList symbolPaths = debuggerCore()->stringListSetting(CdbSymbolPaths);
QStringList symbolPaths = stringListSetting(CdbSymbolPaths);
if (CdbSymbolPathListEditor::promptToAddSymbolPaths(&symbolPaths))
debuggerCore()->action(CdbSymbolPaths)->setValue(symbolPaths);
action(CdbSymbolPaths)->setValue(symbolPaths);
init();
if (!m_logTime.elapsed())
@@ -680,18 +680,18 @@ bool CdbEngine::launchCDB(const DebuggerStartParameters &sp, QString *errorMessa
<< QLatin1String(".idle_cmd ") + QString::fromLatin1(m_extensionCommandPrefixBA) + QLatin1String("idle");
if (sp.useTerminal) // Separate console
arguments << QLatin1String("-2");
if (debuggerCore()->boolSetting(IgnoreFirstChanceAccessViolation))
if (boolSetting(IgnoreFirstChanceAccessViolation))
arguments << QLatin1String("-x");
const QStringList &symbolPaths = debuggerCore()->stringListSetting(CdbSymbolPaths);
const QStringList &symbolPaths = stringListSetting(CdbSymbolPaths);
if (!symbolPaths.isEmpty())
arguments << QLatin1String("-y") << symbolPaths.join(QString(QLatin1Char(';')));
const QStringList &sourcePaths = debuggerCore()->stringListSetting(CdbSourcePaths);
const QStringList &sourcePaths = stringListSetting(CdbSourcePaths);
if (!sourcePaths.isEmpty())
arguments << QLatin1String("-srcpath") << sourcePaths.join(QString(QLatin1Char(';')));
// Compile argument string preserving quotes
QString nativeArguments = debuggerCore()->stringSetting(CdbAdditionalArguments);
QString nativeArguments = stringSetting(CdbAdditionalArguments);
switch (sp.startMode) {
case StartInternal:
case StartExternal:
@@ -786,9 +786,9 @@ void CdbEngine::setupInferior()
postCommand("sxn ibp", 0); // Do not break on initial breakpoints.
postCommand(".asm source_line", 0); // Source line in assembly
postCommand(m_extensionCommandPrefixBA + "setparameter maxStringLength="
+ debuggerCore()->action(MaximalStringLength)->value().toByteArray()
+ action(MaximalStringLength)->value().toByteArray()
+ " maxStackDepth="
+ debuggerCore()->action(MaximalStackDepth)->value().toByteArray()
+ action(MaximalStackDepth)->value().toByteArray()
, 0);
postExtensionCommand("pid", QByteArray(), 0, &CdbEngine::handlePid);
}
@@ -827,13 +827,12 @@ void CdbEngine::runEngine()
if (debug)
qDebug("runEngine");
const QStringList &breakEvents =
debuggerCore()->stringListSetting(CdbBreakEvents);
const QStringList breakEvents = stringListSetting(CdbBreakEvents);
foreach (const QString &breakEvent, breakEvents)
postCommand(QByteArray("sxe ") + breakEvent.toLatin1(), 0);
// Break functions: each function must be fully qualified,
// else the debugger will slow down considerably.
if (debuggerCore()->boolSetting(CdbBreakOnCrtDbgReport)) {
if (boolSetting(CdbBreakOnCrtDbgReport)) {
const QByteArray module = msvcRunTime(startParameters().toolChainAbi.osFlavor());
const QByteArray debugModule = module + 'D';
const QByteArray wideFunc = QByteArray(CdbOptionsPage::crtDbgReport).append('W');
@@ -846,13 +845,13 @@ void CdbEngine::runEngine()
postBuiltinCommand(breakAtFunctionCommand(wideFunc, debugModule), 0,
&CdbEngine::handleBreakInsert);
}
if (debuggerCore()->boolSetting(BreakOnWarning)) {
if (boolSetting(BreakOnWarning)) {
postBuiltinCommand("bm /( QtCored4!qWarning", 0,
&CdbEngine::handleBreakInsert); // 'bm': All overloads.
postBuiltinCommand("bm /( Qt5Cored!QMessageLogger::warning", 0,
&CdbEngine::handleBreakInsert);
}
if (debuggerCore()->boolSetting(BreakOnFatal)) {
if (boolSetting(BreakOnFatal)) {
postBuiltinCommand("bm /( QtCored4!qFatal", 0,
&CdbEngine::handleBreakInsert); // 'bm': All overloads.
postBuiltinCommand("bm /( Qt5Cored!QMessageLogger::fatal", 0,
@@ -1061,9 +1060,9 @@ void CdbEngine::handleAddWatch(const CdbExtensionCommandPtr &reply)
void CdbEngine::addLocalsOptions(ByteArrayInputStream &str) const
{
if (debuggerCore()->boolSetting(VerboseLog))
if (boolSetting(VerboseLog))
str << blankSeparator << "-v";
if (debuggerCore()->boolSetting(UseDebuggingHelpers))
if (boolSetting(UseDebuggingHelpers))
str << blankSeparator << "-c";
const QByteArray typeFormats = watchHandler()->typeFormatRequests();
if (!typeFormats.isEmpty())
@@ -1521,7 +1520,7 @@ void CdbEngine::updateLocals(bool forNewStackFrame)
addLocalsOptions(str);
// Uninitialized variables if desired. Quote as safeguard against shadowed
// variables in case of errors in uninitializedVariables().
if (debuggerCore()->boolSetting(UseCodeModel)) {
if (boolSetting(UseCodeModel)) {
QStringList uninitializedVariables;
getUninitializedVariables(debuggerCore()->cppCodeModelSnapshot(),
frame.function, frame.file, frame.line, &uninitializedVariables);
@@ -1932,7 +1931,7 @@ void CdbEngine::handleLocals(const CdbExtensionCommandPtr &reply)
{
const int flags = reply->cookie.toInt();
if (reply->success) {
if (debuggerCore()->boolSetting(VerboseLog))
if (boolSetting(VerboseLog))
showMessage(QLatin1String("Locals: ") + QString::fromLatin1(reply->reply), LogDebug);
QList<WatchData> watchData;
WatchHandler *handler = watchHandler();
@@ -2915,7 +2914,7 @@ void CdbEngine::attemptBreakpointSynchronization()
case BreakpointInsertRequested:
if (!m_autoBreakPointCorrection
&& parameters.type == BreakpointByFileAndLine
&& debuggerCore()->boolSetting(CdbBreakPointCorrection)) {
&& boolSetting(CdbBreakPointCorrection)) {
if (lineCorrection.isNull())
lineCorrection.reset(new BreakpointCorrectionContext(debuggerCore()->cppCodeModelSnapshot(),
CppTools::CppModelManagerInterface::instance()->workingCopy()));
+9 -11
View File
@@ -182,15 +182,14 @@ CdbOptionsPageWidget::CdbOptionsPageWidget(QWidget *parent)
m_ui.breakCrtDbgReportCheckBox
->setToolTip(CommonOptionsPage::msgSetBreakpointAtFunctionToolTip(CdbOptionsPage::crtDbgReport, hint));
DebuggerCore *dc = debuggerCore();
group.insert(dc->action(CdbAdditionalArguments), m_ui.additionalArgumentsLineEdit);
group.insert(dc->action(CdbBreakOnCrtDbgReport), m_ui.breakCrtDbgReportCheckBox);
group.insert(dc->action(UseCdbConsole), m_ui.consoleCheckBox);
group.insert(dc->action(CdbBreakPointCorrection), m_ui.breakpointCorrectionCheckBox);
group.insert(dc->action(IgnoreFirstChanceAccessViolation),
group.insert(action(CdbAdditionalArguments), m_ui.additionalArgumentsLineEdit);
group.insert(action(CdbBreakOnCrtDbgReport), m_ui.breakCrtDbgReportCheckBox);
group.insert(action(UseCdbConsole), m_ui.consoleCheckBox);
group.insert(action(CdbBreakPointCorrection), m_ui.breakpointCorrectionCheckBox);
group.insert(action(IgnoreFirstChanceAccessViolation),
m_ui.ignoreFirstChanceAccessViolationCheckBox);
m_breakEventWidget->setBreakEvents(dc->stringListSetting(CdbBreakEvents));
m_breakEventWidget->setBreakEvents(stringListSetting(CdbBreakEvents));
}
QStringList CdbOptionsPageWidget::breakEvents() const
@@ -226,7 +225,7 @@ void CdbOptionsPage::apply()
if (!m_widget)
return;
m_widget->group.apply(Core::ICore::settings());
debuggerCore()->action(CdbBreakEvents)->setValue(m_widget->breakEvents());
action(CdbBreakEvents)->setValue(m_widget->breakEvents());
}
void CdbOptionsPage::finish()
@@ -274,9 +273,8 @@ CdbPathsPageWidget::CdbPathsPageWidget(QWidget *parent) :
layout->addWidget(gbSymbolPath);
layout->addWidget(gbSourcePath);
DebuggerCore *dc = debuggerCore();
group.insert(dc->action(CdbSymbolPaths), m_symbolPathListEditor);
group.insert(dc->action(CdbSourcePaths), m_sourcePathListEditor);
group.insert(action(CdbSymbolPaths), m_symbolPathListEditor);
group.insert(action(CdbSourcePaths), m_sourcePathListEditor);
}
CdbPathsPage::CdbPathsPage()
+35 -37
View File
@@ -175,48 +175,47 @@ CommonOptionsPageWidget::CommonOptionsPageWidget
verticalLayout->addWidget(sourcesMappingWidget);
verticalLayout->addStretch();
DebuggerCore *dc = debuggerCore();
m_group->clear();
m_group->insert(dc->action(ListSourceFiles),
m_group->insert(action(ListSourceFiles),
checkBoxListSourceFiles);
m_group->insert(dc->action(UseAlternatingRowColors),
m_group->insert(action(UseAlternatingRowColors),
checkBoxUseAlternatingRowColors);
m_group->insert(dc->action(UseToolTipsInMainEditor),
m_group->insert(action(UseToolTipsInMainEditor),
checkBoxUseToolTipsInMainEditor);
m_group->insert(dc->action(CloseBuffersOnExit),
m_group->insert(action(CloseBuffersOnExit),
checkBoxCloseBuffersOnExit);
m_group->insert(dc->action(SwitchModeOnExit),
m_group->insert(action(SwitchModeOnExit),
checkBoxSwitchModeOnExit);
m_group->insert(dc->action(BreakpointsFullPathByDefault),
m_group->insert(action(BreakpointsFullPathByDefault),
checkBoxBreakpointsFullPath);
m_group->insert(dc->action(RaiseOnInterrupt),
m_group->insert(action(RaiseOnInterrupt),
checkBoxBringToForegroundOnInterrrupt);
m_group->insert(dc->action(ShowQmlObjectTree),
m_group->insert(action(ShowQmlObjectTree),
checkBoxShowQmlObjectTree);
m_group->insert(dc->action(WarnOnReleaseBuilds),
m_group->insert(action(WarnOnReleaseBuilds),
checkBoxWarnOnReleaseBuilds);
m_group->insert(dc->action(StationaryEditorWhileStepping),
m_group->insert(action(StationaryEditorWhileStepping),
checkBoxKeepEditorStationaryWhileStepping);
m_group->insert(dc->action(FontSizeFollowsEditor),
m_group->insert(action(FontSizeFollowsEditor),
checkBoxFontSizeFollowsEditor);
m_group->insert(dc->action(AutoDerefPointers), 0);
m_group->insert(dc->action(UseToolTipsInLocalsView), 0);
m_group->insert(dc->action(AlwaysAdjustColumnWidths), 0);
m_group->insert(dc->action(UseToolTipsInBreakpointsView), 0);
m_group->insert(dc->action(UseToolTipsInStackView), 0);
m_group->insert(dc->action(UseAddressInBreakpointsView), 0);
m_group->insert(dc->action(UseAddressInStackView), 0);
m_group->insert(dc->action(MaximalStackDepth), spinBoxMaximalStackDepth);
m_group->insert(dc->action(ShowStdNamespace), 0);
m_group->insert(dc->action(ShowQtNamespace), 0);
m_group->insert(dc->action(SortStructMembers), 0);
m_group->insert(dc->action(LogTimeStamps), 0);
m_group->insert(dc->action(VerboseLog), 0);
m_group->insert(dc->action(BreakOnThrow), 0);
m_group->insert(dc->action(BreakOnCatch), 0);
m_group->insert(action(AutoDerefPointers), 0);
m_group->insert(action(UseToolTipsInLocalsView), 0);
m_group->insert(action(AlwaysAdjustColumnWidths), 0);
m_group->insert(action(UseToolTipsInBreakpointsView), 0);
m_group->insert(action(UseToolTipsInStackView), 0);
m_group->insert(action(UseAddressInBreakpointsView), 0);
m_group->insert(action(UseAddressInStackView), 0);
m_group->insert(action(MaximalStackDepth), spinBoxMaximalStackDepth);
m_group->insert(action(ShowStdNamespace), 0);
m_group->insert(action(ShowQtNamespace), 0);
m_group->insert(action(SortStructMembers), 0);
m_group->insert(action(LogTimeStamps), 0);
m_group->insert(action(VerboseLog), 0);
m_group->insert(action(BreakOnThrow), 0);
m_group->insert(action(BreakOnCatch), 0);
if (Utils::HostOsInfo::isWindowsHost()) {
Utils::SavedAction *registerAction = dc->action(RegisterForPostMortem);
Utils::SavedAction *registerAction = action(RegisterForPostMortem);
m_group->insert(registerAction,
checkBoxRegisterForPostMortem);
connect(registerAction, SIGNAL(toggled(bool)),
@@ -340,7 +339,6 @@ QWidget *LocalsAndExpressionsOptionsPage::widget()
{
if (!m_widget) {
m_widget = new QWidget;
DebuggerCore *dc = debuggerCore();
auto debuggingHelperGroupBox = new QGroupBox(m_widget);
debuggingHelperGroupBox->setTitle(tr("Use Debugging Helper"));
@@ -357,7 +355,7 @@ QWidget *LocalsAndExpressionsOptionsPage::widget()
auto checkBoxUseCodeModel = new QCheckBox(debuggingHelperGroupBox);
checkBoxUseCodeModel->setText(tr("Use code model"));
checkBoxUseCodeModel->setToolTip(dc->action(UseCodeModel)->toolTip());
checkBoxUseCodeModel->setToolTip(action(UseCodeModel)->toolTip());
checkBoxUseCodeModel->setToolTip(tr("Makes use of Qt Creator's code model "
"to find out if a variable has already been assigned a "
"value at the point the debugger interrupts."));
@@ -409,13 +407,13 @@ QWidget *LocalsAndExpressionsOptionsPage::widget()
layout->addStretch();
m_group.clear();
m_group.insert(dc->action(UseDebuggingHelpers), debuggingHelperGroupBox);
m_group.insert(dc->action(UseCodeModel), checkBoxUseCodeModel);
m_group.insert(dc->action(ShowThreadNames), checkBoxShowThreadNames);
m_group.insert(dc->action(ShowStdNamespace), checkBoxShowStdNamespace);
m_group.insert(dc->action(ShowQtNamespace), checkBoxShowQtNamespace);
m_group.insert(dc->action(DisplayStringLimit), spinBoxDisplayStringLimit);
m_group.insert(dc->action(MaximalStringLength), spinBoxMaximalStringLength);
m_group.insert(action(UseDebuggingHelpers), debuggingHelperGroupBox);
m_group.insert(action(UseCodeModel), checkBoxUseCodeModel);
m_group.insert(action(ShowThreadNames), checkBoxShowThreadNames);
m_group.insert(action(ShowStdNamespace), checkBoxShowStdNamespace);
m_group.insert(action(ShowQtNamespace), checkBoxShowQtNamespace);
m_group.insert(action(DisplayStringLimit), spinBoxDisplayStringLimit);
m_group.insert(action(MaximalStringLength), spinBoxMaximalStringLength);
#ifndef QT_DEBUG
#if 0
+15 -16
View File
@@ -57,7 +57,6 @@ class DebuggerEngine;
namespace Internal {
class BreakHandler;
class SnapshotHandler;
class Symbol;
class Section;
class GlobalDebuggerOptions;
@@ -75,20 +74,12 @@ class DebuggerCore : public QObject
public:
DebuggerCore() {}
static QVariant sessionValue(const QByteArray &name);
static void setSessionValue(const QByteArray &name, const QVariant &value);
static QVariant configValue(const QByteArray &name);
static void setConfigValue(const QByteArray &name, const QVariant &value);
virtual void updateState(DebuggerEngine *engine) = 0;
virtual void updateWatchersWindow(bool showWatch, bool showReturn) = 0;
virtual QIcon locationMarkIcon() const = 0;
virtual const CPlusPlus::Snapshot &cppCodeModelSnapshot() const = 0;
virtual bool hasSnapshots() const = 0;
virtual void openTextEditor(const QString &titlePattern, const QString &contents) = 0;
virtual BreakHandler *breakHandler() const = 0;
virtual SnapshotHandler *snapshotHandler() const = 0;
virtual DebuggerEngine *currentEngine() const = 0;
virtual bool isActiveDebugLanguage(int language) const = 0;
// void runTest(const QString &fileName);
@@ -104,8 +95,6 @@ public:
virtual bool initialize(const QStringList &arguments, QString *errorMessage) = 0;
virtual QWidget *mainWindow() const = 0;
virtual bool isDockVisible(const QString &objectName) const = 0;
// virtual QString debuggerForAbi(const ProjectExplorer::Abi &abi,
// DebuggerEngineType et = NoEngineType) const = 0;
virtual void showModuleSymbols(const QString &moduleName,
const QVector<Symbol> &symbols) = 0;
virtual void showModuleSections(const QString &moduleName,
@@ -113,10 +102,6 @@ public:
virtual void openMemoryEditor() = 0;
virtual void languagesChanged() = 0;
virtual Utils::SavedAction *action(int code) const = 0;
virtual bool boolSetting(int code) const = 0;
virtual QString stringSetting(int code) const = 0;
virtual QStringList stringListSetting(int code) const = 0;
virtual void setThreads(const QStringList &list, int index) = 0;
virtual QSharedPointer<GlobalDebuggerOptions> globalDebuggerOptions() const = 0;
@@ -127,9 +112,23 @@ public slots:
virtual void attachExternalApplication(ProjectExplorer::RunControl *rc) = 0;
};
// Some convenience.
QVariant sessionValue(const QByteArray &name);
void setSessionValue(const QByteArray &name, const QVariant &value);
QVariant configValue(const QByteArray &name);
void setConfigValue(const QByteArray &name, const QVariant &value);
Utils::SavedAction *action(int code);
bool boolSetting(int code);
QString stringSetting(int code);
QStringList stringListSetting(int code);
BreakHandler *breakHandler();
DebuggerEngine *currentEngine();
// This is the only way to access the global object.
DebuggerCore *debuggerCore();
inline BreakHandler *breakHandler() { return debuggerCore()->breakHandler(); }
QMessageBox *showMessageBox(int icon, const QString &title,
const QString &text, int buttons = 0);
+7 -8
View File
@@ -174,7 +174,7 @@ public:
m_isStateDebugging(false)
{
connect(&m_locationTimer, SIGNAL(timeout()), SLOT(resetLocation()));
connect(debuggerCore()->action(IntelFlavor), SIGNAL(valueChanged(QVariant)),
connect(action(IntelFlavor), SIGNAL(valueChanged(QVariant)),
SLOT(reloadDisassembly()));
VariableManager::registerFileVariables(PrefixDebugExecutable,
@@ -521,8 +521,7 @@ void DebuggerEngine::startDebugger(DebuggerRunControl *runControl)
if (!d->m_startParameters.environment.size())
d->m_startParameters.environment = Utils::Environment();
debuggerCore()->action(OperateByInstruction)
->setEnabled(hasCapability(DisassemblerCapability));
action(OperateByInstruction)->setEnabled(hasCapability(DisassemblerCapability));
QTC_ASSERT(state() == DebuggerNotReady || state() == DebuggerFinished,
qDebug() << state());
@@ -543,7 +542,7 @@ void DebuggerEngine::gotoLocation(const Location &loc)
d->resetLocation();
if ((hasCapability(OperateByInstructionCapability) &&
debuggerCore()->boolSetting(OperateByInstruction)) || !loc.hasDebugInfo()) {
boolSetting(OperateByInstruction)) || !loc.hasDebugInfo()) {
d->m_disassemblerAgent.setLocation(loc);
return;
}
@@ -559,7 +558,7 @@ void DebuggerEngine::gotoLocation(const Location &loc)
EditorManager::IgnoreNavigationHistory, &newEditor);
QTC_ASSERT(editor, return); // Unreadable file?
editor->gotoLine(line, 0, !debuggerCore()->boolSetting(StationaryEditorWhileStepping));
editor->gotoLine(line, 0, !boolSetting(StationaryEditorWhileStepping));
if (newEditor)
editor->document()->setProperty(Constants::OPENED_BY_DEBUGGER, true);
@@ -953,7 +952,7 @@ void DebuggerEngine::notifyInferiorSpontaneousStop()
QTC_ASSERT(state() == InferiorRunOk, qDebug() << this << state());
showStatusMessage(tr("Stopped."));
setState(InferiorStopOk);
if (debuggerCore()->boolSetting(RaiseOnInterrupt))
if (boolSetting(RaiseOnInterrupt))
ICore::raiseWindow(debuggerCore()->mainWindow());
}
@@ -1620,7 +1619,7 @@ void DebuggerEngine::executeDebuggerCommand(const QString &, DebuggerLanguages)
BreakHandler *DebuggerEngine::breakHandler() const
{
return debuggerCore()->breakHandler();
return Internal::breakHandler();
}
bool DebuggerEngine::isDying() const
@@ -1752,7 +1751,7 @@ void DebuggerEngine::setStateDebugging(bool on)
void DebuggerEngine::checkForReleaseBuild(const DebuggerStartParameters &sp)
{
if (!debuggerCore()->boolSetting(WarnOnReleaseBuilds) || !(sp.languages & CppLanguage))
if (!boolSetting(WarnOnReleaseBuilds) || !(sp.languages & CppLanguage))
return;
QString binary = sp.executable;
if (binary.isEmpty())
+24 -23
View File
@@ -533,7 +533,7 @@ public:
static QWidget *addSearch(BaseTreeView *treeView, const QString &title,
const char *objectName)
{
QAction *act = debuggerCore()->action(UseAlternatingRowColors);
QAction *act = action(UseAlternatingRowColors);
treeView->setAlternatingRowColors(act->isChecked());
QObject::connect(act, SIGNAL(toggled(bool)),
treeView, SLOT(setAlternatingRowColorsHelper(bool)));
@@ -715,7 +715,6 @@ public:
void connectEngine(DebuggerEngine *engine);
void disconnectEngine() { connectEngine(0); }
DebuggerEngine *currentEngine() const { return m_currentEngine; }
DebuggerEngine *dummyEngine();
void setThreads(const QStringList &list, int index)
@@ -897,9 +896,6 @@ public slots:
bool isReverseDebugging() const;
BreakHandler *breakHandler() const { return m_breakHandler; }
SnapshotHandler *snapshotHandler() const { return m_snapshotHandler; }
void displayDebugger(DebuggerEngine *engine, bool updateEngine = true);
void dumpLog();
@@ -1158,11 +1154,6 @@ public slots:
void openTextEditor(const QString &titlePattern0, const QString &contents);
void showMessage(const QString &msg, int channel, int timeout = -1);
SavedAction *action(int code) const;
bool boolSetting(int code) const;
QString stringSetting(int code) const;
QStringList stringListSetting(int code) const;
void showModuleSymbols(const QString &moduleName, const Symbols &symbols);
void showModuleSections(const QString &moduleName, const Sections &sections);
@@ -1497,12 +1488,12 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
return true;
}
void DebuggerCore::setConfigValue(const QByteArray &name, const QVariant &value)
void setConfigValue(const QByteArray &name, const QVariant &value)
{
ICore::settings()->setValue(_("DebugMode/" + name), value);
}
QVariant DebuggerCore::configValue(const QByteArray &name)
QVariant configValue(const QByteArray &name)
{
return ICore::settings()->value(_("DebugMode/" + name));
}
@@ -2029,7 +2020,7 @@ void DebuggerPluginPrivate::toggleBreakpointByFileAndLine(const QString &fileNam
handler->removeBreakpoint(id);
} else {
BreakpointParameters data(BreakpointByFileAndLine);
if (debuggerCore()->boolSetting(BreakpointsFullPathByDefault))
if (boolSetting(BreakpointsFullPathByDefault))
data.pathUsage = BreakpointUseFullPath;
data.tracepoint = !tracePointMessage.isEmpty();
data.message = tracePointMessage;
@@ -2536,12 +2527,12 @@ const CPlusPlus::Snapshot &DebuggerPluginPrivate::cppCodeModelSnapshot() const
return m_codeModelSnapshot;
}
void DebuggerCore::setSessionValue(const QByteArray &key, const QVariant &value)
void setSessionValue(const QByteArray &key, const QVariant &value)
{
SessionManager::setValue(QString::fromUtf8(key), value);
}
QVariant DebuggerCore::sessionValue(const QByteArray &key)
QVariant sessionValue(const QByteArray &key)
{
return SessionManager::value(QString::fromUtf8(key));
}
@@ -3366,25 +3357,35 @@ void DebuggerPluginPrivate::extensionsInitialized()
// time gdb -i mi -ex 'b debuggerplugin.cpp:800' -ex r -ex q bin/qtcreator.bin
}
SavedAction *DebuggerPluginPrivate::action(int code) const
DebuggerEngine *currentEngine()
{
return m_debuggerSettings->item(code);
return theDebuggerCore->m_currentEngine;
}
bool DebuggerPluginPrivate::boolSetting(int code) const
SavedAction *action(int code)
{
return m_debuggerSettings->item(code)->value().toBool();
return theDebuggerCore->m_debuggerSettings->item(code);
}
QString DebuggerPluginPrivate::stringSetting(int code) const
bool boolSetting(int code)
{
QString raw = m_debuggerSettings->item(code)->value().toString();
return theDebuggerCore->m_debuggerSettings->item(code)->value().toBool();
}
QString stringSetting(int code)
{
QString raw = theDebuggerCore->m_debuggerSettings->item(code)->value().toString();
return VariableManager::expandedString(raw);
}
QStringList DebuggerPluginPrivate::stringListSetting(int code) const
QStringList stringListSetting(int code)
{
return m_debuggerSettings->item(code)->value().toStringList();
return theDebuggerCore->m_debuggerSettings->item(code)->value().toStringList();
}
BreakHandler *breakHandler()
{
return theDebuggerCore->m_breakHandler;
}
void DebuggerPluginPrivate::showModuleSymbols(const QString &moduleName,
+2 -2
View File
@@ -172,7 +172,7 @@ void DebuggerRunControl::start()
if (d->m_engine->startParameters().startMode == StartInternal) {
QStringList unhandledIds;
foreach (const BreakpointModelId &id, debuggerCore()->breakHandler()->allBreakpointIds()) {
foreach (const BreakpointModelId &id, breakHandler()->allBreakpointIds()) {
if (d->m_engine->breakHandler()->breakpointData(id).enabled
&& !d->m_engine->acceptsBreakpoint(id))
unhandledIds.append(id.toString());
@@ -431,7 +431,7 @@ DebuggerRunControl *DebuggerRunControlFactory::doCreate
TaskHub::clearTasks(Debugger::Constants::TASK_CATEGORY_DEBUGGER_RUNTIME);
DebuggerStartParameters sp = sp0;
if (!debuggerCore()->boolSetting(AutoEnrichParameters)) {
if (!boolSetting(AutoEnrichParameters)) {
const QString sysroot = sp.sysRoot;
if (sp.debugInfoLocation.isEmpty())
sp.debugInfoLocation = sysroot + QLatin1String("/usr/lib/debug");
@@ -1185,7 +1185,7 @@ void DebuggerToolTipManager::sessionAboutToChange()
void DebuggerToolTipManager::loadSessionData()
{
const QString data = DebuggerCore::sessionValue(sessionSettingsKeyC).toString();
const QString data = sessionValue(sessionSettingsKeyC).toString();
QXmlStreamReader r(data);
r.readNextStartElement();
if (r.tokenType() == QXmlStreamReader::StartElement && r.name() == QLatin1String(sessionDocumentC))
@@ -1207,7 +1207,7 @@ void DebuggerToolTipManager::saveSessionData()
tw->saveSessionData(w);
w.writeEndDocument();
DebuggerCore::setSessionValue(sessionSettingsKeyC, QVariant(data));
setSessionValue(sessionSettingsKeyC, QVariant(data));
}
void DebuggerToolTipManager::closeAllToolTips()
@@ -1349,16 +1349,15 @@ void DebuggerToolTipManager::slotTooltipOverrideRequested
bool DebuggerToolTipManager::tryHandleToolTipOverride(BaseTextEditor *editor, const QPoint &point, int pos)
{
DebuggerCore *core = debuggerCore();
if (!core->boolSetting(UseToolTipsInMainEditor))
if (!boolSetting(UseToolTipsInMainEditor))
return false;
DebuggerEngine *currentEngine = core->currentEngine();
if (!currentEngine || !currentEngine->canDisplayTooltip())
DebuggerEngine *engine = currentEngine();
if (!engine || !engine->canDisplayTooltip())
return false;
DebuggerToolTipContext context;
context.engineType = currentEngine->objectName();
context.engineType = engine->objectName();
context.fileName = editor->document()->filePath();
context.position = pos;
context.mousePosition = point;
@@ -1370,18 +1369,18 @@ bool DebuggerToolTipManager::tryHandleToolTipOverride(BaseTextEditor *editor, co
return false;
// Prefer a filter on an existing local variable if it can be found.
if (const WatchData *localVariable = currentEngine->watchHandler()->findCppLocalVariable(context.expression)) {
if (const WatchData *localVariable = engine->watchHandler()->findCppLocalVariable(context.expression)) {
context.expression = QLatin1String(localVariable->exp);
if (context.expression.isEmpty())
context.expression = localVariable->name;
context.iname = localVariable->iname;
showToolTip(context, currentEngine);
showToolTip(context, engine);
return true;
}
context.iname = "tooltip." + context.expression.toLatin1().toHex();
if (currentEngine->setToolTipExpression(editor, context))
if (engine->setToolTipExpression(editor, context))
return true;
// Other tooltip, close all in case mouse never entered the tooltip
+37 -39
View File
@@ -230,13 +230,13 @@ GdbEngine::GdbEngine(const DebuggerStartParameters &startParameters)
m_commandTimer.setSingleShot(true);
connect(&m_commandTimer, SIGNAL(timeout()), SLOT(commandTimeout()));
connect(debuggerCore()->action(AutoDerefPointers), SIGNAL(valueChanged(QVariant)),
connect(action(AutoDerefPointers), SIGNAL(valueChanged(QVariant)),
SLOT(reloadLocals()));
connect(debuggerCore()->action(CreateFullBacktrace), SIGNAL(triggered()),
connect(action(CreateFullBacktrace), SIGNAL(triggered()),
SLOT(createFullBacktrace()));
connect(debuggerCore()->action(UseDebuggingHelpers), SIGNAL(valueChanged(QVariant)),
connect(action(UseDebuggingHelpers), SIGNAL(valueChanged(QVariant)),
SLOT(reloadLocals()));
connect(debuggerCore()->action(UseDynamicType), SIGNAL(valueChanged(QVariant)),
connect(action(UseDynamicType), SIGNAL(valueChanged(QVariant)),
SLOT(reloadLocals()));
}
@@ -668,7 +668,7 @@ void GdbEngine::handleResponse(const QByteArray &buff)
break;
}
if (debuggerCore()->boolSetting(IdentifyDebugInfoPackages)) {
if (boolSetting(IdentifyDebugInfoPackages)) {
// From SuSE's gdb: >&"Missing separate debuginfo for ...\n"
// ">&"Try: zypper install -C \"debuginfo(build-id)=c084ee5876ed1ac12730181c9f07c3e027d8e943\"\n"
if (data.startsWith("Missing separate debuginfo for ")) {
@@ -994,7 +994,7 @@ void GdbEngine::flushCommand(const GdbCommand &cmd0)
int GdbEngine::commandTimeoutTime() const
{
int time = debuggerCore()->action(GdbWatchdogTimeout)->value().toInt();
int time = action(GdbWatchdogTimeout)->value().toInt();
return 1000 * qMax(40, time);
}
@@ -1132,7 +1132,7 @@ void GdbEngine::handleResultRecord(GdbResponse *response)
}
GdbCommand cmd = m_cookieForToken.take(token);
if (debuggerCore()->boolSetting(LogTimeStamps)) {
if (boolSetting(LogTimeStamps)) {
showMessage(_("Response time: %1: %2 s")
.arg(_(cmd.command))
.arg(cmd.postTime.msecsTo(QTime::currentTime()) / 1000.),
@@ -1412,7 +1412,7 @@ void GdbEngine::handleStopResponse(const GdbMi &data)
//qDebug() << "BP " << rid << data.toString();
// Quickly set the location marker.
if (lineNumber && !debuggerCore()->boolSetting(OperateByInstruction)
if (lineNumber && !boolSetting(OperateByInstruction)
&& QFileInfo(fullName).exists()
&& !isQmlStepBreakpoint(rid)
&& !isQFatalBreakpoint(rid))
@@ -1500,7 +1500,7 @@ void GdbEngine::handleStop1(const GdbMi &data)
// Jump over well-known frames.
static int stepCounter = 0;
if (debuggerCore()->boolSetting(SkipKnownFrames)) {
if (boolSetting(SkipKnownFrames)) {
if (reason == "end-stepping-range" || reason == "function-finished") {
//showMessage(frame.toString());
QString funcName = _(frame["func"].data());
@@ -1537,7 +1537,7 @@ void GdbEngine::handleStop1(const GdbMi &data)
if (!m_systemDumpersLoaded) {
m_systemDumpersLoaded = true;
if (m_gdbVersion >= 70400 && debuggerCore()->boolSetting(LoadGdbDumpers))
if (m_gdbVersion >= 70400 && boolSetting(LoadGdbDumpers))
postCommand("importPlainDumpers");
}
@@ -1653,8 +1653,7 @@ void GdbEngine::handleStop2(const GdbMi &data)
showMessage(_(name + " CONSIDERED HARMLESS. CONTINUING."));
} else {
showMessage(_("HANDLING SIGNAL " + name));
if (debuggerCore()->boolSetting(UseMessageBoxForSignals)
&& !isStopperThread)
if (boolSetting(UseMessageBoxForSignals) && !isStopperThread)
showStoppedBySignalMessageBox(_(meaning), _(name));
if (!name.isEmpty() && !meaning.isEmpty())
reasontr = msgStoppedBySignal(_(meaning), _(name));
@@ -1737,7 +1736,7 @@ void GdbEngine::handlePythonSetup(const GdbResponse &response)
if (response.resultClass == GdbResultDone) {
bool needSetup = false;
const QString path = debuggerCore()->stringSetting(ExtraDumperFile);
const QString path = stringSetting(ExtraDumperFile);
if (!path.isEmpty()) {
QFileInfo fi(path);
postCommand("python sys.path.insert(1, '" + fi.absolutePath().toUtf8() + "')");
@@ -1745,7 +1744,7 @@ void GdbEngine::handlePythonSetup(const GdbResponse &response)
needSetup = true;
}
const QString commands = debuggerCore()->stringSetting(ExtraDumperCommands);
const QString commands = stringSetting(ExtraDumperCommands);
if (!commands.isEmpty()) {
postCommand(commands.toLocal8Bit());
needSetup = true;
@@ -1856,7 +1855,7 @@ QString GdbEngine::cleanupFullName(const QString &fileName)
startParameters().localMountDir);
}
if (!debuggerCore()->boolSetting(AutoEnrichParameters))
if (!boolSetting(AutoEnrichParameters))
return cleanFilePath;
const QString sysroot = startParameters().sysRoot;
@@ -2318,7 +2317,7 @@ void GdbEngine::setTokenBarrier()
QTC_ASSERT(good, return);
PENDING_DEBUG("\n--- token barrier ---\n");
showMessage(_("--- token barrier ---"), LogMiscInput);
if (debuggerCore()->boolSetting(LogTimeStamps))
if (boolSetting(LogTimeStamps))
showMessage(LogWindow::logTimeStamp(), LogMiscInput);
m_oldestAcceptableToken = currentToken();
m_stackNeeded = false;
@@ -3318,7 +3317,7 @@ void GdbEngine::reloadStack(bool forceGotoLocation)
{
PENDING_DEBUG("RELOAD STACK");
QByteArray cmd = "-stack-list-frames";
int stackDepth = debuggerCore()->action(MaximalStackDepth)->value().toInt();
int stackDepth = action(MaximalStackDepth)->value().toInt();
if (stackDepth)
cmd += " 0 " + QByteArray::number(stackDepth);
postCommand(cmd, Discardable, CB(handleStackListFrames),
@@ -3379,8 +3378,8 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response)
}
bool canExpand = !cookie.isFull
&& (n >= debuggerCore()->action(MaximalStackDepth)->value().toInt());
debuggerCore()->action(ExpandStack)->setEnabled(canExpand);
&& (n >= action(MaximalStackDepth)->value().toInt());
action(ExpandStack)->setEnabled(canExpand);
stackHandler()->setFrames(stackFrames, canExpand);
// We can't jump to any file if we don't have any frames.
@@ -3392,7 +3391,7 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response)
// a few exceptions:
// Always jump to frame #0 when stepping by instruction.
if (debuggerCore()->boolSetting(OperateByInstruction))
if (boolSetting(OperateByInstruction))
targetFrame = 0;
// If there is no frame with source, jump to frame #0.
@@ -3453,9 +3452,9 @@ void GdbEngine::handleThreadInfo(const GdbResponse &response)
selectThread(other);
}
updateViews(); // Adjust Threads combobox.
if (debuggerCore()->boolSetting(ShowThreadNames)) {
if (boolSetting(ShowThreadNames)) {
postCommand("threadnames " +
debuggerCore()->action(MaximalStackDepth)->value().toByteArray(),
action(MaximalStackDepth)->value().toByteArray(),
Discardable, CB(handleThreadNames));
}
reloadStack(false); // Will trigger register reload.
@@ -3636,7 +3635,7 @@ void GdbEngine::handleRegisterListValues(const GdbResponse &response)
// qDebug() << "GdbEngine::showToolTip " << expression << m_toolTipContext.iname << m_toolTipContext;
// if (m_toolTipContext.iname.startsWith("tooltip")
// && (!debuggerCore()->boolSetting(UseToolTipsInMainEditor)
// && (!boolSetting(UseToolTipsInMainEditor)
// || !watchHandler()->isValidToolTip(m_toolTipContext.iname))) {
// watchHandler()->removeData(m_toolTipContext.iname);
// return;
@@ -3728,7 +3727,7 @@ void GdbEngine::rebuildWatchModel()
static int count = 0;
++count;
PENDING_DEBUG("REBUILDING MODEL" << count);
if (debuggerCore()->boolSetting(LogTimeStamps))
if (boolSetting(LogTimeStamps))
showMessage(LogWindow::logTimeStamp(), LogMiscInput);
showMessage(_("<Rebuild Watchmodel %1>").arg(count), LogMiscInput);
showStatusMessage(tr("Finished retrieving data"), 400);
@@ -3939,7 +3938,7 @@ public:
void GdbEngine::fetchDisassembler(DisassemblerAgent *agent)
{
if (debuggerCore()->boolSetting(IntelFlavor))
if (boolSetting(IntelFlavor))
postCommand("set disassembly-flavor intel");
else
postCommand("set disassembly-flavor att");
@@ -4144,7 +4143,7 @@ void GdbEngine::startGdb(const QStringList &args)
QStringList gdbArgs;
gdbArgs << _("-i");
gdbArgs << _("mi");
if (!debuggerCore()->boolSetting(LoadGdbInit))
if (!boolSetting(LoadGdbInit))
gdbArgs << _("-n");
gdbArgs += args;
@@ -4286,7 +4285,7 @@ void GdbEngine::startGdb(const QStringList &args)
postCommand("set auto-solib-add on", ConsoleCommand);
}
if (debuggerCore()->boolSetting(MultiInferior)) {
if (boolSetting(MultiInferior)) {
//postCommand("set follow-exec-mode new");
postCommand("set detach-on-fork off");
}
@@ -4328,7 +4327,7 @@ void GdbEngine::loadInitScript()
).arg(script));
}
} else {
const QString commands = debuggerCore()->stringSetting(GdbStartupCommands);
const QString commands = stringSetting(GdbStartupCommands);
if (!commands.isEmpty())
postCommand(commands.toLocal8Bit());
}
@@ -4494,13 +4493,13 @@ void GdbEngine::finishInferiorSetup()
if (startParameters().startMode == AttachCore) {
notifyInferiorSetupOk(); // No breakpoints in core files.
} else {
if (debuggerCore()->boolSetting(BreakOnAbort))
if (boolSetting(BreakOnAbort))
postCommand("-break-insert -f abort");
if (debuggerCore()->boolSetting(BreakOnWarning)) {
if (boolSetting(BreakOnWarning)) {
postCommand("-break-insert -f '" + qtNamespace() + "qWarning'");
postCommand("-break-insert -f '" + qtNamespace() + "QMessageLogger::warning'");
}
if (debuggerCore()->boolSetting(BreakOnFatal)) {
if (boolSetting(BreakOnFatal)) {
postCommand("-break-insert -f '" + qtNamespace() + "qFatal'",
CB(handleBreakOnQFatal), QVariant(false));
postCommand("-break-insert -f '" + qtNamespace() + "QMessageLogger::fatal'",
@@ -4666,10 +4665,9 @@ bool GdbEngine::isHiddenBreakpoint(const BreakpointResponseId &id) const
bool GdbEngine::usesExecInterrupt() const
{
// debuggerCore()->boolSetting(TargetAsync)
DebuggerStartMode mode = startParameters().startMode;
return (mode == AttachToRemoteServer || mode == AttachToRemoteProcess)
&& debuggerCore()->boolSetting(TargetAsync);
&& boolSetting(TargetAsync);
}
void GdbEngine::scheduleTestResponse(int testCase, const QByteArray &response)
@@ -4691,7 +4689,7 @@ void GdbEngine::requestDebugInformation(const DebugInfoTask &task)
bool GdbEngine::attemptQuickStart() const
{
// Don't try if the user does not ask for it.
if (!debuggerCore()->boolSetting(AttemptQuickStart))
if (!boolSetting(AttemptQuickStart))
return false;
// Don't try if there are breakpoints we might be able to handle.
@@ -4827,9 +4825,9 @@ void GdbEngine::updateLocalsPython(const UpdateParameters &params)
expanded += "formats:" + handler->individualFormatRequests();
QByteArray cutOff = " stringcutoff:"
+ debuggerCore()->action(MaximalStringLength)->value().toByteArray()
+ action(MaximalStringLength)->value().toByteArray()
+ " displaystringlimit:"
+ debuggerCore()->action(DisplayStringLimit)->value().toByteArray();
+ action(DisplayStringLimit)->value().toByteArray();
QByteArray watchers;
@@ -4882,11 +4880,11 @@ void GdbEngine::updateLocalsPython(const UpdateParameters &params)
QByteArray options;
if (alwaysVerbose)
options += "pe,";
if (debuggerCore()->boolSetting(UseDebuggingHelpers))
if (boolSetting(UseDebuggingHelpers))
options += "fancy,";
if (debuggerCore()->boolSetting(AutoDerefPointers))
if (boolSetting(AutoDerefPointers))
options += "autoderef,";
if (debuggerCore()->boolSetting(UseDynamicType))
if (boolSetting(UseDynamicType))
options += "dyntype,";
if (options.isEmpty())
options += "defaults,";
+22 -24
View File
@@ -268,23 +268,22 @@ GdbOptionsPageWidget::GdbOptionsPageWidget(QWidget *parent)
gridLayout->addWidget(groupBoxPostAttachCommands, 2, 1, 2, 1);
gridLayout->addWidget(groupBoxCustomDumperCommands, 4, 1, 2, 1);
DebuggerCore *dc = debuggerCore();
group.insert(dc->action(GdbStartupCommands), textEditStartupCommands);
group.insert(dc->action(ExtraDumperFile), pathChooserExtraDumperFile);
group.insert(dc->action(ExtraDumperCommands), textEditCustomDumperCommands);
group.insert(dc->action(GdbPostAttachCommands), textEditPostAttachCommands);
group.insert(dc->action(LoadGdbInit), checkBoxLoadGdbInit);
group.insert(dc->action(LoadGdbDumpers), checkBoxLoadGdbDumpers);
group.insert(dc->action(UseDynamicType), checkBoxUseDynamicType);
group.insert(dc->action(AdjustBreakpointLocations), checkBoxAdjustBreakpointLocations);
group.insert(dc->action(GdbWatchdogTimeout), spinBoxGdbWatchdogTimeout);
group.insert(dc->action(IntelFlavor), checkBoxIntelFlavor);
group.insert(dc->action(IdentifyDebugInfoPackages), checkBoxIdentifyDebugInfoPackages);
group.insert(dc->action(UseMessageBoxForSignals), checkBoxUseMessageBoxForSignals);
group.insert(dc->action(SkipKnownFrames), checkBoxSkipKnownFrames);
group.insert(action(GdbStartupCommands), textEditStartupCommands);
group.insert(action(ExtraDumperFile), pathChooserExtraDumperFile);
group.insert(action(ExtraDumperCommands), textEditCustomDumperCommands);
group.insert(action(GdbPostAttachCommands), textEditPostAttachCommands);
group.insert(action(LoadGdbInit), checkBoxLoadGdbInit);
group.insert(action(LoadGdbDumpers), checkBoxLoadGdbDumpers);
group.insert(action(UseDynamicType), checkBoxUseDynamicType);
group.insert(action(AdjustBreakpointLocations), checkBoxAdjustBreakpointLocations);
group.insert(action(GdbWatchdogTimeout), spinBoxGdbWatchdogTimeout);
group.insert(action(IntelFlavor), checkBoxIntelFlavor);
group.insert(action(IdentifyDebugInfoPackages), checkBoxIdentifyDebugInfoPackages);
group.insert(action(UseMessageBoxForSignals), checkBoxUseMessageBoxForSignals);
group.insert(action(SkipKnownFrames), checkBoxSkipKnownFrames);
//lineEditSelectedPluginBreakpointsPattern->
// setEnabled(dc->action(SelectedPluginBreakpoints)->value().toBool());
// setEnabled(action(SelectedPluginBreakpoints)->value().toBool());
//connect(radioButtonSelectedPluginBreakpoints, SIGNAL(toggled(bool)),
// lineEditSelectedPluginBreakpointsPattern, SLOT(setEnabled(bool)));
}
@@ -425,15 +424,14 @@ GdbOptionsPageWidget2::GdbOptionsPageWidget2(QWidget *parent)
QGridLayout *gridLayout = new QGridLayout(this);
gridLayout->addWidget(groupBoxDangerous, 0, 0, 2, 1);
DebuggerCore *dc = debuggerCore();
group.insert(dc->action(AutoEnrichParameters), checkBoxAutoEnrichParameters);
group.insert(dc->action(TargetAsync), checkBoxTargetAsync);
group.insert(dc->action(BreakOnWarning), checkBoxBreakOnWarning);
group.insert(dc->action(BreakOnFatal), checkBoxBreakOnFatal);
group.insert(dc->action(BreakOnAbort), checkBoxBreakOnAbort);
group.insert(dc->action(AttemptQuickStart), checkBoxAttemptQuickStart);
group.insert(dc->action(MultiInferior), checkBoxMultiInferior);
group.insert(dc->action(EnableReverseDebugging), checkBoxEnableReverseDebugging);
group.insert(action(AutoEnrichParameters), checkBoxAutoEnrichParameters);
group.insert(action(TargetAsync), checkBoxTargetAsync);
group.insert(action(BreakOnWarning), checkBoxBreakOnWarning);
group.insert(action(BreakOnFatal), checkBoxBreakOnFatal);
group.insert(action(BreakOnAbort), checkBoxBreakOnAbort);
group.insert(action(AttemptQuickStart), checkBoxAttemptQuickStart);
group.insert(action(MultiInferior), checkBoxMultiInferior);
group.insert(action(EnableReverseDebugging), checkBoxEnableReverseDebugging);
}
GdbOptionsPage2::GdbOptionsPage2()
+1 -1
View File
@@ -101,7 +101,7 @@ void GdbPlainEngine::handleExecRun(const GdbResponse &response)
showMessage(_("INFERIOR STARTED"));
showMessage(msgInferiorSetupOk(), StatusBar);
// FIXME: That's the wrong place for it.
if (debuggerCore()->boolSetting(EnableReverseDebugging))
if (boolSetting(EnableReverseDebugging))
postCommand("target record");
} else {
QString msg = fromLocalEncoding(response.data["msg"].data());
@@ -202,7 +202,7 @@ void GdbRemoteServerEngine::setupInferior()
// gdb/mi/mi-main.c:1958: internal-error:
// mi_execute_async_cli_command: Assertion `is_running (inferior_ptid)'
// failed.\nA problem internal to GDB has been detected,[...]
if (debuggerCore()->boolSetting(TargetAsync))
if (boolSetting(TargetAsync))
postCommand("set target-async on", CB(handleSetTargetAsync));
if (executableFileName.isEmpty()) {
@@ -277,7 +277,7 @@ void GdbRemoteServerEngine::handleTargetRemote(const GdbResponse &response)
// gdb server will stop the remote application itself.
showMessage(_("INFERIOR STARTED"));
showMessage(msgAttachedToStoppedInferior(), StatusBar);
QString postAttachCommands = debuggerCore()->stringSetting(GdbPostAttachCommands);
QString postAttachCommands = stringSetting(GdbPostAttachCommands);
if (!postAttachCommands.isEmpty()) {
foreach (const QString &cmd, postAttachCommands.split(QLatin1Char('\n')))
postCommand(cmd.toLatin1());
@@ -297,7 +297,7 @@ void GdbRemoteServerEngine::handleTargetExtendedRemote(const GdbResponse &respon
if (response.resultClass == GdbResultDone) {
showMessage(_("ATTACHED TO GDB SERVER STARTED"));
showMessage(msgAttachedToStoppedInferior(), StatusBar);
QString postAttachCommands = debuggerCore()->stringSetting(GdbPostAttachCommands);
QString postAttachCommands = stringSetting(GdbPostAttachCommands);
if (!postAttachCommands.isEmpty()) {
foreach (const QString &cmd, postAttachCommands.split(QLatin1Char('\n')))
postCommand(cmd.toLatin1());
@@ -432,7 +432,7 @@ void GdbRemoteServerEngine::handleExecRun(const GdbResponse &response)
void GdbRemoteServerEngine::interruptInferior2()
{
QTC_ASSERT(state() == InferiorStopRequested, qDebug() << state());
if (debuggerCore()->boolSetting(TargetAsync)) {
if (boolSetting(TargetAsync)) {
postCommand("-exec-interrupt", GdbEngine::Immediate,
CB(handleInterruptInferior));
} else if (m_isQnxGdb && Utils::HostOsInfo::isWindowsHost()) {
+14 -14
View File
@@ -105,15 +105,15 @@ LldbEngine::LldbEngine(const DebuggerStartParameters &startParameters)
#endif
}
connect(debuggerCore()->action(AutoDerefPointers), SIGNAL(valueChanged(QVariant)),
connect(action(AutoDerefPointers), SIGNAL(valueChanged(QVariant)),
SLOT(updateLocals()));
connect(debuggerCore()->action(CreateFullBacktrace), SIGNAL(triggered()),
connect(action(CreateFullBacktrace), SIGNAL(triggered()),
SLOT(createFullBacktrace()));
connect(debuggerCore()->action(UseDebuggingHelpers), SIGNAL(valueChanged(QVariant)),
connect(action(UseDebuggingHelpers), SIGNAL(valueChanged(QVariant)),
SLOT(updateLocals()));
connect(debuggerCore()->action(UseDynamicType), SIGNAL(valueChanged(QVariant)),
connect(action(UseDynamicType), SIGNAL(valueChanged(QVariant)),
SLOT(updateLocals()));
connect(debuggerCore()->action(IntelFlavor), SIGNAL(valueChanged(QVariant)),
connect(action(IntelFlavor), SIGNAL(valueChanged(QVariant)),
SLOT(updateAll()));
}
@@ -275,7 +275,7 @@ void LldbEngine::setupInferior()
{
const DebuggerStartParameters &sp = startParameters();
const QString path = debuggerCore()->stringSetting(ExtraDumperFile);
const QString path = stringSetting(ExtraDumperFile);
if (!path.isEmpty()) {
QFileInfo fi(path);
@@ -288,7 +288,7 @@ void LldbEngine::setupInferior()
runCommand(cmd2);
}
const QString commands = debuggerCore()->stringSetting(ExtraDumperCommands);
const QString commands = stringSetting(ExtraDumperCommands);
if (!commands.isEmpty()) {
Command cmd("executeDebuggerCommand");
cmd.arg(commands.toUtf8());
@@ -873,7 +873,7 @@ void LldbEngine::reloadFullStack()
void LldbEngine::updateStack()
{
Command cmd("reportStack");
cmd.arg("stacklimit", debuggerCore()->action(MaximalStackDepth)->value().toInt());
cmd.arg("stacklimit", action(MaximalStackDepth)->value().toInt());
runCommand(cmd);
}
@@ -917,9 +917,9 @@ void LldbEngine::doUpdateLocals(UpdateParameters params)
const static bool alwaysVerbose = !qgetenv("QTC_DEBUGGER_PYTHON_VERBOSE").isEmpty();
cmd.arg("passexceptions", alwaysVerbose);
cmd.arg("fancy", debuggerCore()->boolSetting(UseDebuggingHelpers));
cmd.arg("autoderef", debuggerCore()->boolSetting(AutoDerefPointers));
cmd.arg("dyntype", debuggerCore()->boolSetting(UseDynamicType));
cmd.arg("fancy", boolSetting(UseDebuggingHelpers));
cmd.arg("autoderef", boolSetting(AutoDerefPointers));
cmd.arg("dyntype", boolSetting(UseDynamicType));
cmd.arg("partial", params.tryPartial);
cmd.arg("tooltiponly", params.tooltipOnly);
@@ -1102,7 +1102,7 @@ void LldbEngine::refreshStack(const GdbMi &stack)
frames.append(frame);
}
bool canExpand = stack["hasmore"].toInt();
debuggerCore()->action(ExpandStack)->setEnabled(canExpand);
action(ExpandStack)->setEnabled(canExpand);
handler->setFrames(frames, canExpand);
}
@@ -1219,7 +1219,7 @@ void LldbEngine::refreshState(const GdbMi &reportedState)
void LldbEngine::refreshLocation(const GdbMi &reportedLocation)
{
if (debuggerCore()->boolSetting(OperateByInstruction)) {
if (boolSetting(OperateByInstruction)) {
Location loc(reportedLocation["addr"].toAddress());
loc.setNeedsMarker(true);
gotoLocation(loc);
@@ -1249,7 +1249,7 @@ void LldbEngine::fetchDisassembler(DisassemblerAgent *agent)
cmd.arg("cookie", id);
cmd.arg("address", loc.address());
cmd.arg("function", loc.functionName());
cmd.arg("flavor", debuggerCore()->boolSetting(IntelFlavor) ? "intel" : "att");
cmd.arg("flavor", boolSetting(IntelFlavor) ? "intel" : "att");
runCommand(cmd);
}
+9 -9
View File
@@ -172,11 +172,11 @@ public:
QMenu *menu = createStandardContextMenu();
menu->addAction(m_clearContentsAction);
menu->addAction(m_saveContentsAction); // X11 clipboard is unreliable for long texts
menu->addAction(debuggerCore()->action(LogTimeStamps));
menu->addAction(debuggerCore()->action(VerboseLog));
menu->addAction(action(LogTimeStamps));
menu->addAction(action(VerboseLog));
menu->addAction(m_reloadDebuggingHelpersAction);
menu->addSeparator();
menu->addAction(debuggerCore()->action(SettingsDialog));
menu->addAction(action(SettingsDialog));
menu->exec(ev->globalPos());
delete menu;
}
@@ -225,7 +225,7 @@ void DebuggerPane::saveContents()
void DebuggerPane::reloadDebuggingHelpers()
{
debuggerCore()->currentEngine()->reloadDebuggingHelpers();
currentEngine()->reloadDebuggingHelpers();
}
/////////////////////////////////////////////////////////////////////
@@ -433,18 +433,18 @@ LogWindow::LogWindow(QWidget *parent)
void LogWindow::executeLine()
{
m_ignoreNextInputEcho = true;
debuggerCore()->currentEngine()->
currentEngine()->
executeDebuggerCommand(m_inputText->textCursor().block().text(), CppLanguage);
}
void LogWindow::repeatLastCommand()
{
debuggerCore()->currentEngine()->debugLastCommand();
currentEngine()->debugLastCommand();
}
void LogWindow::sendCommand()
{
DebuggerEngine *engine = debuggerCore()->currentEngine();
DebuggerEngine *engine = currentEngine();
if (engine->acceptsDebuggerCommands())
engine->executeDebuggerCommand(m_commandEdit->text(), CppLanguage);
else
@@ -462,7 +462,7 @@ void LogWindow::showOutput(int channel, const QString &output)
QString out;
out.reserve(output.size() + 1000);
if (output.at(0) != QLatin1Char('~') && debuggerCore()->boolSetting(LogTimeStamps)) {
if (output.at(0) != QLatin1Char('~') && boolSetting(LogTimeStamps)) {
out.append(charForChannel(LogTime));
out.append(logTimeStamp());
out.append(nchar);
@@ -521,7 +521,7 @@ void LogWindow::showInput(int channel, const QString &input)
m_inputText->setTextCursor(cursor);
return;
}
if (debuggerCore()->boolSetting(LogTimeStamps))
if (boolSetting(LogTimeStamps))
m_inputText->append(logTimeStamp());
m_inputText->append(input);
QTextCursor cursor = m_inputText->textCursor();
+4 -5
View File
@@ -38,9 +38,8 @@
#include <utils/savedaction.h>
#include <QDebug>
#include <QProcess>
#include <QMenu>
#include <QProcess>
#include <QResizeEvent>
@@ -63,7 +62,7 @@ ModulesTreeView::ModulesTreeView()
void ModulesTreeView::moduleActivated(const QModelIndex &index)
{
DebuggerEngine *engine = debuggerCore()->currentEngine();
DebuggerEngine *engine = currentEngine();
QTC_ASSERT(engine, return);
if (index.isValid())
engine->gotoLocation(index.sibling(index.row(), 1).data().toString());
@@ -81,7 +80,7 @@ void ModulesTreeView::contextMenuEvent(QContextMenuEvent *ev)
fileName = index.sibling(index.row(), 1).data().toString();
}
DebuggerEngine *engine = debuggerCore()->currentEngine();
DebuggerEngine *engine = currentEngine();
QTC_ASSERT(engine, return);
const bool enabled = engine->debuggerActionsEnabled();
const bool canReload = engine->hasCapability(ReloadModuleCapability);
@@ -150,7 +149,7 @@ void ModulesTreeView::contextMenuEvent(QContextMenuEvent *ev)
menu.addAction(actShowModuleSymbols);
menu.addAction(actShowModuleSections);
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
QAction *act = menu.exec(ev->globalPos());
+2 -2
View File
@@ -730,9 +730,9 @@ void PdbEngine::updateLocals()
}
QByteArray options;
if (debuggerCore()->boolSetting(UseDebuggingHelpers))
if (boolSetting(UseDebuggingHelpers))
options += "fancy,";
if (debuggerCore()->boolSetting(AutoDerefPointers))
if (boolSetting(AutoDerefPointers))
options += "autoderef,";
if (options.isEmpty())
options += "defaults,";
+1 -1
View File
@@ -1058,7 +1058,7 @@ QmlJS::ConsoleItem *constructLogItemTree(QmlJS::ConsoleItem *parent,
const QString &key = QString())
{
using namespace QmlJS;
bool sorted = debuggerCore()->boolSetting(SortStructMembers);
bool sorted = boolSetting(SortStructMembers);
if (!result.isValid())
return 0;
@@ -76,8 +76,8 @@ QmlInspectorAdapter::QmlInspectorAdapter(QmlAdapter *debugAdapter,
, m_inspectorToolsContext("Debugger.QmlInspector")
, m_selectAction(new QAction(this))
, m_zoomAction(new QAction(this))
, m_showAppOnTopAction(debuggerCore()->action(ShowAppOnTop))
, m_updateOnSaveAction(debuggerCore()->action(QmlUpdateOnSave))
, m_showAppOnTopAction(action(ShowAppOnTop))
, m_updateOnSaveAction(action(QmlUpdateOnSave))
, m_engineClientConnected(false)
{
if (!m_engine->isMasterEngine())
@@ -325,8 +325,7 @@ void QmlInspectorAdapter::createPreviewForEditor(Core::IEditor *newEditor)
QmlLiveTextPreview *preview
= new QmlLiveTextPreview(doc, initdoc, this, this);
preview->setApplyChangesToQmlInspector(
debuggerCore()->action(QmlUpdateOnSave)->isChecked());
preview->setApplyChangesToQmlInspector(action(QmlUpdateOnSave)->isChecked());
connect(preview, SIGNAL(reloadRequest()),
this, SLOT(onReload()));
+11 -20
View File
@@ -62,7 +62,7 @@ QmlInspectorAgent::QmlInspectorAgent(DebuggerEngine *engine, QObject *parent)
, m_objectToSelect(-1)
{
m_debugIdToIname.insert(-1, QByteArray("inspect"));
connect(debuggerCore()->action(ShowQmlObjectTree),
connect(action(ShowQmlObjectTree),
SIGNAL(valueChanged(QVariant)), SLOT(updateState()));
m_delayQueryTimer.setSingleShot(true);
m_delayQueryTimer.setInterval(100);
@@ -177,8 +177,7 @@ quint32 QmlInspectorAgent::setBindingForObject(int objectDebugId,
if (propertyName == QLatin1String("id"))
return 0; // Crashes the QMLViewer.
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return 0;
log(LogSend, QString::fromLatin1("SET_BINDING %1 %2 %3 %4").arg(
@@ -206,8 +205,7 @@ quint32 QmlInspectorAgent::setMethodBodyForObject(int objectDebugId,
if (objectDebugId == -1)
return 0;
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return 0;
log(LogSend, QString::fromLatin1("SET_METHOD_BODY %1 %2 %3").arg(
@@ -232,8 +230,7 @@ quint32 QmlInspectorAgent::resetBindingForObject(int objectDebugId,
if (objectDebugId == -1)
return 0;
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return 0;
log(LogSend, QString::fromLatin1("RESET_BINDING %1 %2").arg(
@@ -331,8 +328,7 @@ bool QmlInspectorAgent::addObjectWatch(int objectDebugId)
if (objectDebugId == -1)
return false;
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return false;
// already set
@@ -412,8 +408,7 @@ void QmlInspectorAgent::setEngineClient(BaseEngineDebugClient *client)
QString QmlInspectorAgent::displayName(int objectDebugId) const
{
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return QString();
if (m_debugIdToIname.contains(objectDebugId)) {
@@ -429,7 +424,7 @@ void QmlInspectorAgent::updateState()
{
if (m_engineClient
&& (m_engineClient->state() == QmlDebugClient::Enabled)
&& debuggerCore()->boolSetting(ShowQmlObjectTree)) {
&& boolSetting(ShowQmlObjectTree)) {
reloadEngines();
} else {
clearObjectTree();
@@ -550,8 +545,7 @@ void QmlInspectorAgent::queryEngineContext()
{
qCDebug(qmlInspectorLog) << __FUNCTION__;
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return;
log(LogSend, QLatin1String("LIST_OBJECTS"));
@@ -564,8 +558,7 @@ void QmlInspectorAgent::fetchObject(int debugId)
{
qCDebug(qmlInspectorLog) << __FUNCTION__ << '(' << debugId << ')';
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return;
log(LogSend, QLatin1String("FETCH_OBJECT ") + QString::number(debugId));
@@ -583,8 +576,7 @@ void QmlInspectorAgent::fetchContextObjectsForLocation(const QString &file,
qCDebug(qmlInspectorLog) << __FUNCTION__ << '(' << file << ':' << lineNumber
<< ':' << columnNumber << ')';
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return;
log(LogSend, QString::fromLatin1("FETCH_OBJECTS_FOR_LOCATION %1:%2:%3").arg(file)
@@ -601,8 +593,7 @@ void QmlInspectorAgent::updateObjectTree(const ContextReference &context)
{
qCDebug(qmlInspectorLog) << __FUNCTION__ << '(' << context << ')';
if (!isConnected()
|| !debuggerCore()->boolSetting(ShowQmlObjectTree))
if (!isConnected() || !boolSetting(ShowQmlObjectTree))
return;
foreach (const ObjectReference & obj, context.objects())
@@ -1591,7 +1591,7 @@ QmlJS::ConsoleItem *constructLogItemTree(QmlJS::ConsoleItem *parent,
const QVariant &refsVal)
{
using namespace QmlJS;
bool sorted = debuggerCore()->boolSetting(SortStructMembers);
bool sorted = boolSetting(SortStructMembers);
if (!objectData.value.isValid())
return 0;
+1 -6
View File
@@ -50,11 +50,6 @@
namespace Debugger {
namespace Internal {
static DebuggerEngine *currentEngine()
{
return debuggerCore()->currentEngine();
}
static RegisterHandler *currentHandler()
{
DebuggerEngine *engine = currentEngine();
@@ -226,7 +221,7 @@ void RegisterTreeView::contextMenuEvent(QContextMenuEvent *ev)
act2->setChecked(base == 2);
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
const QPoint position = ev->globalPos();
QAction *act = menu.exec(position);
+1 -1
View File
@@ -93,7 +93,7 @@ void SnapshotTreeView::contextMenuEvent(QContextMenuEvent *ev)
actRemove->setEnabled(idx.isValid());
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
QAction *act = menu.exec(ev->globalPos());
+3 -3
View File
@@ -58,14 +58,14 @@ SourceFilesTreeView::SourceFilesTreeView()
void SourceFilesTreeView::rowActivated(const QModelIndex &index)
{
DebuggerEngine *engine = debuggerCore()->currentEngine();
DebuggerEngine *engine = currentEngine();
QTC_ASSERT(engine, return);
engine->gotoLocation(index.data().toString());
}
void SourceFilesTreeView::contextMenuEvent(QContextMenuEvent *ev)
{
DebuggerEngine *engine = debuggerCore()->currentEngine();
DebuggerEngine *engine = currentEngine();
QTC_ASSERT(engine, return);
QModelIndex index = indexAt(ev->pos());
index = index.sibling(index.row(), 0);
@@ -89,7 +89,7 @@ void SourceFilesTreeView::contextMenuEvent(QContextMenuEvent *ev)
menu.addAction(act1);
menu.addAction(act2);
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
QAction *act = menu.exec(ev->globalPos());
+4 -5
View File
@@ -63,7 +63,7 @@ StackHandler::StackHandler()
m_contentsValid = false;
m_currentIndex = -1;
m_canExpand = false;
connect(debuggerCore()->action(OperateByInstruction), SIGNAL(triggered()),
connect(action(OperateByInstruction), SIGNAL(triggered()),
this, SLOT(resetModel()));
}
@@ -123,7 +123,7 @@ QVariant StackHandler::data(const QModelIndex &index, int role) const
? m_positionIcon : m_emptyIcon;
}
if (role == Qt::ToolTipRole && debuggerCore()->boolSetting(UseToolTipsInStackView))
if (role == Qt::ToolTipRole && boolSetting(UseToolTipsInStackView))
return frame.toToolTip();
return QVariant();
@@ -151,8 +151,7 @@ Qt::ItemFlags StackHandler::flags(const QModelIndex &index) const
if (index.row() == m_stackFrames.size())
return QAbstractTableModel::flags(index);
const StackFrame &frame = m_stackFrames.at(index.row());
const bool isValid = frame.isUsable()
|| debuggerCore()->boolSetting(OperateByInstruction);
const bool isValid = frame.isUsable() || boolSetting(OperateByInstruction);
return isValid && m_contentsValid
? QAbstractTableModel::flags(index) : Qt::ItemFlags();
}
@@ -222,7 +221,7 @@ void StackHandler::prependFrames(const StackFrames &frames)
int StackHandler::firstUsableIndex() const
{
if (!debuggerCore()->boolSetting(OperateByInstruction)) {
if (!boolSetting(OperateByInstruction)) {
for (int i = 0, n = m_stackFrames.size(); i != n; ++i)
if (m_stackFrames.at(i).isUsable())
return i;
+9 -14
View File
@@ -55,20 +55,15 @@
namespace Debugger {
namespace Internal {
static DebuggerEngine *currentEngine()
{
return debuggerCore()->currentEngine();
}
StackTreeView::StackTreeView()
{
setWindowTitle(tr("Stack"));
connect(debuggerCore()->action(UseAddressInStackView), SIGNAL(toggled(bool)),
connect(action(UseAddressInStackView), SIGNAL(toggled(bool)),
SLOT(showAddressColumn(bool)));
connect(debuggerCore()->action(ExpandStack), SIGNAL(triggered()),
connect(action(ExpandStack), SIGNAL(triggered()),
SLOT(reloadFullStack()));
connect(debuggerCore()->action(MaximalStackDepth), SIGNAL(triggered()),
connect(action(MaximalStackDepth), SIGNAL(triggered()),
SLOT(reloadFullStack()));
showAddressColumn(false);
}
@@ -88,7 +83,7 @@ void StackTreeView::setModel(QAbstractItemModel *model)
BaseTreeView::setModel(model);
resizeColumnToContents(0);
resizeColumnToContents(3);
showAddressColumn(debuggerCore()->action(UseAddressInStackView)->isChecked());
showAddressColumn(action(UseAddressInStackView)->isChecked());
}
// Input a function to be disassembled. Accept CDB syntax
@@ -155,7 +150,7 @@ void StackTreeView::contextMenuEvent(QContextMenuEvent *ev)
const quint64 address = frame.address;
QMenu menu;
menu.addAction(debuggerCore()->action(ExpandStack));
menu.addAction(action(ExpandStack));
QAction *actCopyContents = menu.addAction(tr("Copy Contents to Clipboard"));
actCopyContents->setEnabled(model() != 0);
@@ -164,7 +159,7 @@ void StackTreeView::contextMenuEvent(QContextMenuEvent *ev)
actSaveTaskFile->setEnabled(model() != 0);
if (engine->hasCapability(CreateFullBacktraceCapability))
menu.addAction(debuggerCore()->action(CreateFullBacktrace));
menu.addAction(action(CreateFullBacktrace));
QAction *additionalQmlStackAction = 0;
if (engine->hasCapability(AdditionalQmlStackCapability))
@@ -204,12 +199,12 @@ void StackTreeView::contextMenuEvent(QContextMenuEvent *ev)
actLoadSymbols = menu.addAction(tr("Try to Load Unknown Symbols"));
if (engine->hasCapability(MemoryAddressCapability))
menu.addAction(debuggerCore()->action(UseAddressInStackView));
menu.addAction(action(UseAddressInStackView));
menu.addSeparator();
menu.addAction(debuggerCore()->action(UseToolTipsInStackView));
menu.addAction(action(UseToolTipsInStackView));
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
QAction *act = menu.exec(ev->globalPos());
if (!act)
+2 -2
View File
@@ -50,13 +50,13 @@ ThreadsTreeView::ThreadsTreeView()
void ThreadsTreeView::rowActivated(const QModelIndex &index)
{
ThreadId id = ThreadId(index.data(ThreadData::IdRole).toLongLong());
debuggerCore()->currentEngine()->selectThread(id);
currentEngine()->selectThread(id);
}
void ThreadsTreeView::contextMenuEvent(QContextMenuEvent *ev)
{
QMenu menu;
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
menu.exec(ev->globalPos());
}
+16 -16
View File
@@ -155,14 +155,14 @@ public:
setWindowFlags(windowFlags() | Qt::Window);
setWindowTitle(WatchHandler::tr("Debugger - Qt Creator"));
QVariant geometry = DebuggerCore::sessionValue("DebuggerSeparateWidgetGeometry");
QVariant geometry = sessionValue("DebuggerSeparateWidgetGeometry");
if (geometry.isValid())
setGeometry(geometry.toRect());
}
~SeparatedView()
{
DebuggerCore::setSessionValue("DebuggerSeparateWidgetGeometry", geometry());
setSessionValue("DebuggerSeparateWidgetGeometry", geometry());
}
void removeObject(const QByteArray &key)
@@ -348,11 +348,11 @@ WatchModel::WatchModel(WatchHandler *handler)
m_returnRoot = createItem("return", tr("Return Value"), m_root);
m_tooltipRoot = createItem("tooltip", tr("Tooltip"), m_root);
connect(debuggerCore()->action(SortStructMembers), SIGNAL(valueChanged(QVariant)),
connect(action(SortStructMembers), SIGNAL(valueChanged(QVariant)),
SLOT(reinsertAllData()));
connect(debuggerCore()->action(ShowStdNamespace), SIGNAL(valueChanged(QVariant)),
connect(action(ShowStdNamespace), SIGNAL(valueChanged(QVariant)),
SLOT(reinsertAllData()));
connect(debuggerCore()->action(ShowQtNamespace), SIGNAL(valueChanged(QVariant)),
connect(action(ShowQtNamespace), SIGNAL(valueChanged(QVariant)),
SLOT(reinsertAllData()));
}
@@ -560,9 +560,9 @@ static QString niceTypeHelper(const QByteArray &typeIn)
QString WatchModel::removeNamespaces(QString str) const
{
if (!debuggerCore()->boolSetting(ShowStdNamespace))
if (!boolSetting(ShowStdNamespace))
str.remove(QLatin1String("std::"));
if (!debuggerCore()->boolSetting(ShowQtNamespace)) {
if (!boolSetting(ShowQtNamespace)) {
const QString qtNamespace = QString::fromLatin1(engine()->qtNamespace());
if (!qtNamespace.isEmpty())
str.remove(qtNamespace);
@@ -1151,7 +1151,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const
}
case Qt::ToolTipRole:
return debuggerCore()->boolSetting(UseToolTipsInLocalsView)
return boolSetting(UseToolTipsInLocalsView)
? data.toToolTip() : QVariant();
case Qt::ForegroundRole: {
@@ -1491,7 +1491,7 @@ bool watchItemSorter(const WatchItem *item1, const WatchItem *item2)
static int findInsertPosition(const QList<WatchItem *> &list, const WatchItem *item)
{
sortWatchDataAlphabetically = debuggerCore()->boolSetting(SortStructMembers);
sortWatchDataAlphabetically = boolSetting(SortStructMembers);
const QList<WatchItem *>::const_iterator it =
qLowerBound(list.begin(), list.end(), item, watchItemSorter);
return it - list.begin();
@@ -1639,7 +1639,7 @@ void WatchModel::setCurrentItem(const QByteArray &iname)
WatchHandler::WatchHandler(DebuggerEngine *engine)
{
m_engine = engine;
m_watcherCounter = DebuggerCore::sessionValue("Watchers").toStringList().count();
m_watcherCounter = sessionValue("Watchers").toStringList().count();
m_model = new WatchModel(this);
m_contentsValid = false;
m_contentsValid = true; // FIXME
@@ -1918,12 +1918,12 @@ QStringList WatchHandler::watchedExpressions()
void WatchHandler::saveWatchers()
{
DebuggerCore::setSessionValue("Watchers", watchedExpressions());
setSessionValue("Watchers", watchedExpressions());
}
void WatchHandler::loadFormats()
{
QVariant value = DebuggerCore::sessionValue("DefaultFormats");
QVariant value = sessionValue("DefaultFormats");
QMapIterator<QString, QVariant> it(value.toMap());
while (it.hasNext()) {
it.next();
@@ -1931,7 +1931,7 @@ void WatchHandler::loadFormats()
theTypeFormats.insert(it.key().toUtf8(), it.value().toInt());
}
value = DebuggerCore::sessionValue("IndividualFormats");
value = sessionValue("IndividualFormats");
it = QMapIterator<QString, QVariant>(value.toMap());
while (it.hasNext()) {
it.next();
@@ -1953,7 +1953,7 @@ void WatchHandler::saveFormats()
formats.insert(QString::fromLatin1(key), format);
}
}
DebuggerCore::setSessionValue("DefaultFormats", formats);
setSessionValue("DefaultFormats", formats);
formats.clear();
it = QHashIterator<QByteArray, int>(theIndividualFormats);
@@ -1964,7 +1964,7 @@ void WatchHandler::saveFormats()
if (!key.isEmpty())
formats.insert(QString::fromLatin1(key), format);
}
DebuggerCore::setSessionValue("IndividualFormats", formats);
setSessionValue("IndividualFormats", formats);
}
void WatchHandler::saveSessionData()
@@ -1978,7 +1978,7 @@ void WatchHandler::loadSessionData()
loadFormats();
theWatcherNames.clear();
m_watcherCounter = 0;
QVariant value = DebuggerCore::sessionValue("Watchers");
QVariant value = sessionValue("Watchers");
m_model->destroyChildren(m_model->m_watchRoot);
foreach (const QString &exp, value.toStringList())
watchExpression(exp);
+7 -12
View File
@@ -86,11 +86,6 @@ namespace Internal {
const char CurrentIndex[] = "CurrentIndex";
static DebuggerEngine *currentEngine()
{
return debuggerCore()->currentEngine();
}
class WatchDelegate : public QItemDelegate
{
public:
@@ -912,15 +907,15 @@ void WatchTreeView::contextMenuEvent(QContextMenuEvent *ev)
menu.addAction(&actShowInEditor);
menu.addSeparator();
menu.addAction(debuggerCore()->action(UseDebuggingHelpers));
menu.addAction(debuggerCore()->action(UseToolTipsInLocalsView));
menu.addAction(debuggerCore()->action(AutoDerefPointers));
menu.addAction(debuggerCore()->action(SortStructMembers));
menu.addAction(debuggerCore()->action(UseDynamicType));
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(UseDebuggingHelpers));
menu.addAction(action(UseToolTipsInLocalsView));
menu.addAction(action(AutoDerefPointers));
menu.addAction(action(SortStructMembers));
menu.addAction(action(UseDynamicType));
menu.addAction(action(SettingsDialog));
menu.addSeparator();
menu.addAction(debuggerCore()->action(SettingsDialog));
menu.addAction(action(SettingsDialog));
QAction *act = menu.exec(ev->globalPos());