forked from qt-creator/qt-creator
debugger: refactoring
move the start mode variable to DebuggerStartParameters
This commit is contained in:
@@ -1176,7 +1176,7 @@ static QSharedPointer<RunConfiguration> activeRunConfiguration()
|
|||||||
|
|
||||||
void DebuggerPlugin::startExternalApplication()
|
void DebuggerPlugin::startExternalApplication()
|
||||||
{
|
{
|
||||||
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
const DebuggerStartParametersPtr sp(new DebuggerStartParameters);
|
||||||
StartExternalDialog dlg(m_manager->mainWindow());
|
StartExternalDialog dlg(m_manager->mainWindow());
|
||||||
dlg.setExecutableFile(
|
dlg.setExecutableFile(
|
||||||
configValue(_("LastExternalExecutableFile")).toString());
|
configValue(_("LastExternalExecutableFile")).toString());
|
||||||
@@ -1190,6 +1190,7 @@ void DebuggerPlugin::startExternalApplication()
|
|||||||
setConfigValue(_("LastExternalExecutableArguments"),
|
setConfigValue(_("LastExternalExecutableArguments"),
|
||||||
dlg.executableArguments());
|
dlg.executableArguments());
|
||||||
sp->executable = dlg.executableFile();
|
sp->executable = dlg.executableFile();
|
||||||
|
sp->startMode = StartExternal;
|
||||||
if (!dlg.executableArguments().isEmpty())
|
if (!dlg.executableArguments().isEmpty())
|
||||||
sp->processArgs = dlg.executableArguments().split(QLatin1Char(' '));
|
sp->processArgs = dlg.executableArguments().split(QLatin1Char(' '));
|
||||||
|
|
||||||
@@ -1201,7 +1202,7 @@ void DebuggerPlugin::startExternalApplication()
|
|||||||
rc = DebuggerRunner::createDefaultRunConfiguration(sp->executable);
|
rc = DebuggerRunner::createDefaultRunConfiguration(sp->executable);
|
||||||
|
|
||||||
if (RunControl *runControl = m_debuggerRunner
|
if (RunControl *runControl = m_debuggerRunner
|
||||||
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp, StartExternal))
|
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp))
|
||||||
runControl->start();
|
runControl->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1218,21 +1219,21 @@ void DebuggerPlugin::attachExternalApplication(qint64 pid, const QString &crashP
|
|||||||
QMessageBox::warning(m_manager->mainWindow(), tr("Warning"), tr("Cannot attach to PID 0"));
|
QMessageBox::warning(m_manager->mainWindow(), tr("Warning"), tr("Cannot attach to PID 0"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
const DebuggerStartParametersPtr sp(new DebuggerStartParameters);
|
||||||
sp->attachPID = pid;
|
sp->attachPID = pid;
|
||||||
sp->crashParameter = crashParameter;
|
sp->crashParameter = crashParameter;
|
||||||
const DebuggerStartMode dsm = crashParameter.isEmpty() ? AttachExternal : AttachCrashedExternal;
|
sp->startMode = crashParameter.isEmpty() ? AttachExternal : AttachCrashedExternal;
|
||||||
QSharedPointer<RunConfiguration> rc = activeRunConfiguration();
|
QSharedPointer<RunConfiguration> rc = activeRunConfiguration();
|
||||||
if (rc.isNull())
|
if (rc.isNull())
|
||||||
rc = DebuggerRunner::createDefaultRunConfiguration();
|
rc = DebuggerRunner::createDefaultRunConfiguration();
|
||||||
if (RunControl *runControl = m_debuggerRunner
|
if (RunControl *runControl = m_debuggerRunner
|
||||||
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp, dsm))
|
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp))
|
||||||
runControl->start();
|
runControl->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerPlugin::attachCore()
|
void DebuggerPlugin::attachCore()
|
||||||
{
|
{
|
||||||
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
const DebuggerStartParametersPtr sp(new DebuggerStartParameters);
|
||||||
AttachCoreDialog dlg(m_manager->mainWindow());
|
AttachCoreDialog dlg(m_manager->mainWindow());
|
||||||
dlg.setExecutableFile(
|
dlg.setExecutableFile(
|
||||||
configValue(_("LastExternalExecutableFile")).toString());
|
configValue(_("LastExternalExecutableFile")).toString());
|
||||||
@@ -1246,17 +1247,18 @@ void DebuggerPlugin::attachCore()
|
|||||||
dlg.coreFile());
|
dlg.coreFile());
|
||||||
sp->executable = dlg.executableFile();
|
sp->executable = dlg.executableFile();
|
||||||
sp->coreFile = dlg.coreFile();
|
sp->coreFile = dlg.coreFile();
|
||||||
|
sp->startMode = AttachCore;
|
||||||
QSharedPointer<RunConfiguration> rc = activeRunConfiguration();
|
QSharedPointer<RunConfiguration> rc = activeRunConfiguration();
|
||||||
if (rc.isNull())
|
if (rc.isNull())
|
||||||
rc = DebuggerRunner::createDefaultRunConfiguration();
|
rc = DebuggerRunner::createDefaultRunConfiguration();
|
||||||
if (RunControl *runControl = m_debuggerRunner
|
if (RunControl *runControl = m_debuggerRunner
|
||||||
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp, AttachCore))
|
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp))
|
||||||
runControl->start();
|
runControl->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerPlugin::startRemoteApplication()
|
void DebuggerPlugin::startRemoteApplication()
|
||||||
{
|
{
|
||||||
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
const DebuggerStartParametersPtr sp(new DebuggerStartParameters);
|
||||||
StartRemoteDialog dlg(m_manager->mainWindow());
|
StartRemoteDialog dlg(m_manager->mainWindow());
|
||||||
QStringList arches;
|
QStringList arches;
|
||||||
arches.append(_("i386:x86-64:intel"));
|
arches.append(_("i386:x86-64:intel"));
|
||||||
@@ -1277,6 +1279,7 @@ void DebuggerPlugin::startRemoteApplication()
|
|||||||
setConfigValue(_("LastUseServerStartScript"), dlg.useServerStartScript());
|
setConfigValue(_("LastUseServerStartScript"), dlg.useServerStartScript());
|
||||||
sp->remoteChannel = dlg.remoteChannel();
|
sp->remoteChannel = dlg.remoteChannel();
|
||||||
sp->remoteArchitecture = dlg.remoteArchitecture();
|
sp->remoteArchitecture = dlg.remoteArchitecture();
|
||||||
|
sp->startMode = StartRemote;
|
||||||
if (dlg.useServerStartScript())
|
if (dlg.useServerStartScript())
|
||||||
sp->serverStartScript = dlg.serverStartScript();
|
sp->serverStartScript = dlg.serverStartScript();
|
||||||
|
|
||||||
@@ -1284,13 +1287,13 @@ void DebuggerPlugin::startRemoteApplication()
|
|||||||
if (rc.isNull())
|
if (rc.isNull())
|
||||||
rc = DebuggerRunner::createDefaultRunConfiguration();
|
rc = DebuggerRunner::createDefaultRunConfiguration();
|
||||||
if (RunControl *runControl = m_debuggerRunner
|
if (RunControl *runControl = m_debuggerRunner
|
||||||
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp, StartRemote))
|
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp))
|
||||||
runControl->start();
|
runControl->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerPlugin::attachRemoteTcf()
|
void DebuggerPlugin::attachRemoteTcf()
|
||||||
{
|
{
|
||||||
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
const DebuggerStartParametersPtr sp(new DebuggerStartParameters);
|
||||||
AttachTcfDialog dlg(m_manager->mainWindow());
|
AttachTcfDialog dlg(m_manager->mainWindow());
|
||||||
QStringList arches;
|
QStringList arches;
|
||||||
arches.append(_("i386:x86-64:intel"));
|
arches.append(_("i386:x86-64:intel"));
|
||||||
@@ -1312,6 +1315,7 @@ void DebuggerPlugin::attachRemoteTcf()
|
|||||||
sp->remoteChannel = dlg.remoteChannel();
|
sp->remoteChannel = dlg.remoteChannel();
|
||||||
sp->remoteArchitecture = dlg.remoteArchitecture();
|
sp->remoteArchitecture = dlg.remoteArchitecture();
|
||||||
sp->serverStartScript = dlg.serverStartScript();
|
sp->serverStartScript = dlg.serverStartScript();
|
||||||
|
sp->startMode = AttachTcf;
|
||||||
if (dlg.useServerStartScript())
|
if (dlg.useServerStartScript())
|
||||||
sp->serverStartScript = dlg.serverStartScript();
|
sp->serverStartScript = dlg.serverStartScript();
|
||||||
|
|
||||||
@@ -1319,7 +1323,7 @@ void DebuggerPlugin::attachRemoteTcf()
|
|||||||
if (rc.isNull())
|
if (rc.isNull())
|
||||||
rc = DebuggerRunner::createDefaultRunConfiguration();
|
rc = DebuggerRunner::createDefaultRunConfiguration();
|
||||||
if (RunControl *runControl = m_debuggerRunner
|
if (RunControl *runControl = m_debuggerRunner
|
||||||
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp, AttachTcf))
|
->run(rc, ProjectExplorer::Constants::DEBUGMODE, sp))
|
||||||
runControl->start();
|
runControl->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -85,23 +85,21 @@ RunConfigurationPtr DebuggerRunner::createDefaultRunConfiguration(const QString
|
|||||||
|
|
||||||
RunControl *DebuggerRunner::run(RunConfigurationPtr runConfiguration,
|
RunControl *DebuggerRunner::run(RunConfigurationPtr runConfiguration,
|
||||||
const QString &mode,
|
const QString &mode,
|
||||||
const QSharedPointer<DebuggerStartParameters> &sp,
|
const QSharedPointer<DebuggerStartParameters> &sp)
|
||||||
DebuggerStartMode startMode)
|
|
||||||
{
|
{
|
||||||
QTC_ASSERT(mode == ProjectExplorer::Constants::DEBUGMODE, return 0);
|
QTC_ASSERT(mode == ProjectExplorer::Constants::DEBUGMODE, return 0);
|
||||||
ApplicationRunConfigurationPtr rc =
|
ApplicationRunConfigurationPtr rc =
|
||||||
runConfiguration.objectCast<ApplicationRunConfiguration>();
|
runConfiguration.objectCast<ApplicationRunConfiguration>();
|
||||||
QTC_ASSERT(!rc.isNull(), return 0);
|
QTC_ASSERT(!rc.isNull(), return 0);
|
||||||
//qDebug() << "***** Debugging" << rc->name() << rc->executable();
|
return new DebuggerRunControl(m_manager, sp, rc);
|
||||||
DebuggerRunControl *runControl = new DebuggerRunControl(m_manager, startMode, sp, rc);
|
|
||||||
return runControl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RunControl *DebuggerRunner::run(RunConfigurationPtr runConfiguration,
|
RunControl *DebuggerRunner::run(RunConfigurationPtr runConfiguration,
|
||||||
const QString &mode)
|
const QString &mode)
|
||||||
{
|
{
|
||||||
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
const QSharedPointer<DebuggerStartParameters> sp(new DebuggerStartParameters);
|
||||||
return run(runConfiguration, mode, sp, StartInternal);
|
sp->startMode = StartInternal;
|
||||||
|
return run(runConfiguration, mode, sp);
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *DebuggerRunner::configurationWidget(RunConfigurationPtr runConfiguration)
|
QWidget *DebuggerRunner::configurationWidget(RunConfigurationPtr runConfiguration)
|
||||||
@@ -121,7 +119,6 @@ QWidget *DebuggerRunner::configurationWidget(RunConfigurationPtr runConfiguratio
|
|||||||
|
|
||||||
|
|
||||||
DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager,
|
DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager,
|
||||||
DebuggerStartMode mode,
|
|
||||||
const QSharedPointer<DebuggerStartParameters> &startParameters,
|
const QSharedPointer<DebuggerStartParameters> &startParameters,
|
||||||
QSharedPointer<ApplicationRunConfiguration> runConfiguration)
|
QSharedPointer<ApplicationRunConfiguration> runConfiguration)
|
||||||
: RunControl(runConfiguration),
|
: RunControl(runConfiguration),
|
||||||
@@ -146,7 +143,6 @@ DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager,
|
|||||||
|
|
||||||
// Enhance parameters by info from the project, but do not clobber
|
// Enhance parameters by info from the project, but do not clobber
|
||||||
// arguments given in the dialogs
|
// arguments given in the dialogs
|
||||||
m_startParameters->startMode = mode;
|
|
||||||
if (m_startParameters->executable.isEmpty())
|
if (m_startParameters->executable.isEmpty())
|
||||||
m_startParameters->executable = runConfiguration->executable();
|
m_startParameters->executable = runConfiguration->executable();
|
||||||
if (m_startParameters->environment.empty())
|
if (m_startParameters->environment.empty())
|
||||||
|
@@ -61,16 +61,15 @@ public:
|
|||||||
|
|
||||||
// ProjectExplorer::IRunConfigurationRunner
|
// ProjectExplorer::IRunConfigurationRunner
|
||||||
bool canRun(RunConfigurationPtr runConfiguration, const QString &mode);
|
bool canRun(RunConfigurationPtr runConfiguration, const QString &mode);
|
||||||
virtual ProjectExplorer::RunControl *run(RunConfigurationPtr runConfiguration, const QString &mode);
|
virtual ProjectExplorer::RunControl *run(RunConfigurationPtr runConfiguration,
|
||||||
|
const QString &mode);
|
||||||
virtual QString displayName() const;
|
virtual QString displayName() const;
|
||||||
|
|
||||||
virtual QWidget *configurationWidget(RunConfigurationPtr runConfiguration);
|
virtual QWidget *configurationWidget(RunConfigurationPtr runConfiguration);
|
||||||
|
|
||||||
virtual ProjectExplorer::RunControl
|
virtual ProjectExplorer::RunControl *run(RunConfigurationPtr runConfiguration,
|
||||||
*run(RunConfigurationPtr runConfiguration,
|
|
||||||
const QString &mode,
|
const QString &mode,
|
||||||
const DebuggerStartParametersPtr &sp,
|
const DebuggerStartParametersPtr &sp);
|
||||||
DebuggerStartMode startMode);
|
|
||||||
|
|
||||||
static RunConfigurationPtr createDefaultRunConfiguration(const QString &executable = QString());
|
static RunConfigurationPtr createDefaultRunConfiguration(const QString &executable = QString());
|
||||||
|
|
||||||
@@ -87,7 +86,6 @@ class DebuggerRunControl
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
DebuggerRunControl(DebuggerManager *manager,
|
DebuggerRunControl(DebuggerManager *manager,
|
||||||
DebuggerStartMode mode,
|
|
||||||
const DebuggerStartParametersPtr &startParamters,
|
const DebuggerStartParametersPtr &startParamters,
|
||||||
ApplicationRunConfigurationPtr runConfiguration);
|
ApplicationRunConfigurationPtr runConfiguration);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user