diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index 2c98c9f7c9ebb915ec3ca78b8f942d4fb265185e..5113a494c4c2e12e1be4534fd1605937a3617c49 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -152,11 +152,15 @@ DebuggerSettings *DebuggerSettings::instance() instance->insertItem(LogTimeStamps, item); item = new SavedAction(instance); - item->setText(tr("Step by instruction")); + item->setText(tr("Operate by instruction")); item->setCheckable(true); item->setDefaultValue(false); item->setIcon(QIcon(":/debugger/images/debugger_stepoverproc_small.png")); - instance->insertItem(StepByInstruction, item); + item->setToolTip(tr("This switches the debugger to instruction-wise " + "operation mode. In this mode, stepping operates on single " + "instructions and the source location view also shows the " + "disassembled instructions.")); + instance->insertItem(OperateByInstruction, item); // // Locals & Watchers diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h index 37089b79b7cf7543de681b4e4fec6dacced671ed..0109baf74b708c8a9664c0dd0cfd45ad09dee1a4 100644 --- a/src/plugins/debugger/debuggeractions.h +++ b/src/plugins/debugger/debuggeractions.h @@ -77,7 +77,7 @@ enum DebuggerActionCode AutoQuit, LockView, LogTimeStamps, - StepByInstruction, + OperateByInstruction, RecheckDebuggingHelpers, UseDebuggingHelpers, @@ -127,7 +127,8 @@ Core::Utils::SavedAction *theDebuggerAction(int code); bool theDebuggerBoolSetting(int code); QString theDebuggerStringSetting(int code); -struct DebuggerManagerActions { +struct DebuggerManagerActions +{ QAction *continueAction; QAction *stopAction; QAction *resetAction; // FIXME: Should not be needed in a stable release diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 23cecbd53ee7cd1ca103aa3556c4502026485419..24e6322a63fe9a01158bdb61eb22b5b4ce25fc15 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -511,8 +511,8 @@ void DebuggerManager::init() connect(theDebuggerAction(WatchPoint), SIGNAL(triggered()), this, SLOT(watchPoint())); - connect(theDebuggerAction(StepByInstruction), SIGNAL(triggered()), - this, SLOT(stepByInstructionTriggered())); + connect(theDebuggerAction(OperateByInstruction), SIGNAL(triggered()), + this, SLOT(operateByInstructionTriggered())); d->m_breakDock = d->m_mainWindow->addDockForWidget(d->m_breakWindow); @@ -1100,7 +1100,7 @@ void DebuggerManager::stepExec() { QTC_ASSERT(d->m_engine, return); resetLocation(); - if (theDebuggerBoolSetting(StepByInstruction)) + if (theDebuggerBoolSetting(OperateByInstruction)) d->m_engine->stepIExec(); else d->m_engine->stepExec(); @@ -1117,7 +1117,7 @@ void DebuggerManager::nextExec() { QTC_ASSERT(d->m_engine, return); resetLocation(); - if (theDebuggerBoolSetting(StepByInstruction)) + if (theDebuggerBoolSetting(OperateByInstruction)) d->m_engine->nextIExec(); else d->m_engine->nextExec(); @@ -1350,7 +1350,7 @@ void DebuggerManager::fileOpen(const QString &fileName) emit gotoLocationRequested(frame, false); } -void DebuggerManager::stepByInstructionTriggered() +void DebuggerManager::operateByInstructionTriggered() { QTC_ASSERT(d->m_stackHandler, return); StackFrame frame = d->m_stackHandler->currentFrame(); diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index e077cee67a165aa451138dfe1fc39d307d152e82..e38ed13dbd9d660f2289979fa52dcef9f17d5fbe 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -248,7 +248,7 @@ private slots: void clearStatusMessage(); void attemptBreakpointSynchronization(); void reloadFullStack(); - void stepByInstructionTriggered(); + void operateByInstructionTriggered(); void startFailed(); private: diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index bb8a1cc976763b8489d48ffa92e9365fc1a0ea07..191178eee2ea4229b5d413a82772a5374e8e8a8d 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -120,7 +120,7 @@ const char * const TOGGLE_BREAK = "Debugger.ToggleBreak"; const char * const BREAK_BY_FUNCTION = "Debugger.BreakByFunction"; const char * const BREAK_AT_MAIN = "Debugger.BreakAtMain"; const char * const ADD_TO_WATCH = "Debugger.AddToWatch"; -const char * const STEP_BY_INSTRUCTION = "Debugger.StepByInstruction"; +const char * const OPERATE_BY_INSTRUCTION = "Debugger.OperateByInstruction"; #ifdef Q_WS_MAC const char * const INTERRUPT_KEY = "Shift+F5"; @@ -686,10 +686,6 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess cmd->setDefaultKeySequence(QKeySequence(Constants::STEPOUT_KEY)); mdebug->addAction(cmd); - cmd = am->registerAction(theDebuggerAction(StepByInstruction), - Constants::STEP_BY_INSTRUCTION, debuggercontext); - mdebug->addAction(cmd); - cmd = am->registerAction(actions.runToLineAction, Constants::RUN_TO_LINE, debuggercontext); cmd->setDefaultKeySequence(QKeySequence(Constants::RUN_TO_LINE_KEY)); @@ -716,6 +712,10 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess cmd = am->registerAction(sep, QLatin1String("Debugger.Sep.Break"), globalcontext); mdebug->addAction(cmd); + cmd = am->registerAction(theDebuggerAction(OperateByInstruction), + Constants::OPERATE_BY_INSTRUCTION, debuggercontext); + mdebug->addAction(cmd); + cmd = am->registerAction(actions.breakAction, Constants::TOGGLE_BREAK, cppeditorcontext); cmd->setDefaultKeySequence(QKeySequence(Constants::TOGGLE_BREAK_KEY)); @@ -829,7 +829,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess debugToolBarLayout->addWidget(toolButton(am->command(Constants::NEXT)->action())); debugToolBarLayout->addWidget(toolButton(am->command(Constants::STEP)->action())); debugToolBarLayout->addWidget(toolButton(am->command(Constants::STEPOUT)->action())); - debugToolBarLayout->addWidget(toolButton(am->command(Constants::STEP_BY_INSTRUCTION)->action())); + debugToolBarLayout->addWidget(toolButton(am->command(Constants::OPERATE_BY_INSTRUCTION)->action())); #ifdef USE_REVERSE_DEBUGGING debugToolBarLayout->addWidget(new Core::Utils::StyledSeparator); debugToolBarLayout->addWidget(toolButton(am->command(Constants::REVERSE)->action())); @@ -1093,7 +1093,7 @@ void DebuggerPlugin::resetLocation() void DebuggerPlugin::gotoLocation(const Debugger::Internal::StackFrame &frame, bool setMarker) { - if (theDebuggerBoolSetting(StepByInstruction) || !frame.isUsable()) { + if (theDebuggerBoolSetting(OperateByInstruction) || !frame.isUsable()) { if (!m_disassemblerViewAgent) m_disassemblerViewAgent = new DisassemblerViewAgent(m_manager); m_disassemblerViewAgent->setFrame(frame); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 9bdd670a860d314d23272a2885a4678239edbac1..e8196d9584491f116252d479704b02524db2d0fe 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -2360,7 +2360,7 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response) theDebuggerAction(ExpandStack)->setEnabled(canExpand); manager()->stackHandler()->setFrames(stackFrames, canExpand); - if (topFrame != -1 || theDebuggerBoolSetting(StepByInstruction)) { + if (topFrame != -1 || theDebuggerBoolSetting(OperateByInstruction)) { const StackFrame &frame = manager()->stackHandler()->currentFrame(); gotoLocation(frame, true); } diff --git a/src/plugins/debugger/stackhandler.cpp b/src/plugins/debugger/stackhandler.cpp index e5bd3879f64657668a94bc7207388b72ba0c04b7..605c38b0d167b5793ca7e3f908a83391e40d2f13 100644 --- a/src/plugins/debugger/stackhandler.cpp +++ b/src/plugins/debugger/stackhandler.cpp @@ -173,7 +173,7 @@ Qt::ItemFlags StackHandler::flags(const QModelIndex &index) const return QAbstractTableModel::flags(index); const StackFrame &frame = m_stackFrames.at(index.row()); const bool isValid = (!frame.file.isEmpty() && !frame.function.isEmpty()) - || theDebuggerBoolSetting(StepByInstruction); + || theDebuggerBoolSetting(OperateByInstruction); return isValid ? QAbstractTableModel::flags(index) : Qt::ItemFlags(0); }