Debugger: Move run parameters from engine to tool runner

The parameters belong to the run control, they should not
be triplicated in case of a combined engine.

Change-Id: I4dd84220edbd7a44b902cc52627fe01d0568db75
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2017-05-05 14:45:36 +02:00
parent c9cd6b1223
commit 1f6764a54e
31 changed files with 286 additions and 261 deletions

View File

@@ -204,8 +204,7 @@ private:
//
///////////////////////////////////////////////////////////////////////
GdbEngine::GdbEngine(const DebuggerRunParameters &startParameters)
: DebuggerEngine(startParameters)
GdbEngine::GdbEngine(bool useTerminal)
{
setObjectName("GdbEngine");
@@ -222,7 +221,7 @@ GdbEngine::GdbEngine(const DebuggerRunParameters &startParameters)
m_pendingBreakpointRequests = 0;
m_commandsDoneCallback = 0;
m_stackNeeded = false;
m_terminalTrap = startParameters.useTerminal;
m_terminalTrap = useTerminal;
m_systemDumpersLoaded = false;
m_rerunPending = false;
m_inUpdateLocals = false;
@@ -4355,20 +4354,20 @@ void GdbEngine::debugLastCommand()
// Factory
//
DebuggerEngine *createGdbEngine(const DebuggerRunParameters &rp)
DebuggerEngine *createGdbEngine(bool useTerminal, DebuggerStartMode sm)
{
switch (rp.startMode) {
switch (sm) {
case AttachCore:
return new GdbCoreEngine(rp);
return new GdbCoreEngine(useTerminal);
case StartRemoteProcess:
case AttachToRemoteServer:
return new GdbRemoteServerEngine(rp);
return new GdbRemoteServerEngine(useTerminal);
case AttachExternal:
return new GdbAttachEngine(rp);
return new GdbAttachEngine(useTerminal);
default:
if (rp.useTerminal)
return new GdbTermEngine(rp);
return new GdbPlainEngine(rp);
if (useTerminal)
return new GdbTermEngine(useTerminal);
return new GdbPlainEngine(useTerminal);
}
}