Commit ad51a43c authored by hjk's avatar hjk Committed by David Schulz

Debugger: More Debugger{Start,Run}Parameter separation

Fixes also the recent regression due to slicing when attaching
to a running application.

Change-Id: I6a7712811d6820b0c57658db10c5ff9790b4a338
Reviewed-by: default avatarDavid Schulz <david.schulz@theqtcompany.com>
parent 1db87756
......@@ -267,11 +267,11 @@ static inline bool validMode(DebuggerStartMode sm)
}
// Accessed by RunControlFactory
DebuggerEngine *createCdbEngine(const DebuggerRunParameters &sp, QString *errorMessage)
DebuggerEngine *createCdbEngine(const DebuggerRunParameters &rp, QString *errorMessage)
{
if (HostOsInfo::isWindowsHost()) {
if (validMode(sp.startMode))
return new CdbEngine(sp);
if (validMode(rp.startMode))
return new CdbEngine(rp);
*errorMessage = QLatin1String("Internal error: Invalid start parameters passed for thee CDB engine.");
} else {
*errorMessage = QString::fromLatin1("Unsupported debug mode");
......
......@@ -1986,7 +1986,7 @@ DebuggerRunParameters::DebuggerRunParameters()
testCase(0)
{}
void DebuggerRunParameters::operator=(const DebuggerStartParameters &sp)
void DebuggerRunParameters::initialize(const DebuggerStartParameters &sp)
{
DebuggerStartParameters::operator=(sp);
}
......
......@@ -85,7 +85,7 @@ class DebuggerRunParameters : public DebuggerStartParameters
public:
DebuggerRunParameters();
void operator=(const DebuggerStartParameters &sp);
void initialize(const DebuggerStartParameters &sp);
QString coreFile;
QString overrideStartScript; // Used in attach to core and remote debugging
......@@ -420,7 +420,7 @@ private:
DebuggerEngine *createEngine(DebuggerEngineType et, const DebuggerRunParameters &rp, QString *errorMessage);
bool fillParametersFromKit(DebuggerRunParameters *r, const ProjectExplorer::Kit *kit, QString *errorMessage = 0);
bool fillParametersFromKit(DebuggerRunParameters *rp, const ProjectExplorer::Kit *kit, QString *errorMessage = 0);
bool fillParametersFromLocalRunConfiguration(DebuggerRunParameters *rp,
const ProjectExplorer::RunConfiguration *runConfig, QString *errorMessage = 0);
......
This diff is collapsed.
......@@ -42,6 +42,11 @@ class RemoteSetupResult;
class DebuggerStartParameters;
class DebuggerRunControl;
namespace Internal {
class DebuggerRunParameters;
DebuggerRunControl *createDebuggerRunControlInternal(const DebuggerRunParameters &, QString *);
}
DEBUGGER_EXPORT DebuggerRunControl *createDebuggerRunControl(const DebuggerStartParameters &sp,
QString *errorMessage);
......@@ -83,8 +88,8 @@ signals:
private:
void handleFinished();
friend DEBUGGER_EXPORT DebuggerRunControl *createDebuggerRunControl(
const DebuggerStartParameters &sp, QString *errorMessage);
friend DebuggerRunControl *Debugger::Internal::createDebuggerRunControlInternal(
const Internal::DebuggerRunParameters &rp, QString *errorMessage);
DebuggerRunControl(ProjectExplorer::RunConfiguration *runConfig,
Internal::DebuggerEngine *engine);
......
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