Debugger: Rework step{In,Out,Over} handling

Main menu action pass operation to current engine, everything else
is handled there.

Combine execute{Step,Next} and execute{Step,Next}I functions.
Implementation were mostly similar, in some cases unneeded
(the instruction-wise version e.g. for Python)

Drop GDB-isms 'step', 'next' in favor of 'step in' and 'step over'.

Change-Id: I232232bc7a67d9d297a74f1c81dc43be96787d34
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2018-10-02 12:53:07 +02:00
parent 78fbb0826b
commit fa96f73192
14 changed files with 104 additions and 187 deletions

View File

@@ -64,11 +64,9 @@ public:
void watchPoint(const QPoint &) override;
void setRegisterValue(const QString &name, const QString &value) override;
void executeStep() override;
void executeStepOver(bool byInstruction) override;
void executeStepIn(bool byInstruction) override;
void executeStepOut() override;
void executeNext() override;
void executeStepI() override;
void executeNextI() override;
void continueInferior() override;
void interruptInferior() override;
@@ -113,7 +111,7 @@ private:
void processError();
void processFinished();
void runCommand(const DebuggerCommand &cmd) override;
void operateByInstructionTriggered(bool) override;
void adjustOperateByInstruction(bool);
void createFullBacktrace();
@@ -217,7 +215,7 @@ private:
int m_currentBuiltinResponseToken = -1;
QMap<QString, NormalizedSourceFileName> m_normalizedFileCache;
const QString m_extensionCommandPrefix; //!< Library name used as prefix
bool m_operateByInstruction = true; // Default CDB setting.
bool m_lastOperateByInstruction = true; // Default CDB setting.
bool m_hasDebuggee = false;
enum Wow64State {
wow64Uninitialized,