debugger: allow using a local core file with a remote kit

This is a common use case when examining core files from devices without
ssh access or "externally" created core files and used to work with 2.5.

Change-Id: Ie8ee5e2e0216c1e8c3265cf01e59f2c92d8730ef
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2012-10-22 11:14:18 +02:00
parent 78b4b8ae6e
commit 7728ed4af1
3 changed files with 61 additions and 30 deletions

View File

@@ -1600,11 +1600,12 @@ void DebuggerPluginPrivate::attachCore()
{
AttachCoreDialog dlg(mainWindow());
dlg.setKitId(Id(configValue(_("LastExternalProfile")).toString()));
dlg.setKitId(Id(configValue(_("LastExternalKit")).toString()));
dlg.setLocalExecutableFile(configValue(_("LastExternalExecutableFile")).toString());
dlg.setLocalCoreFile(configValue(_("LastLocalCoreFile")).toString());
dlg.setRemoteCoreFile(configValue(_("LastRemoteCoreFile")).toString());
dlg.setOverrideStartScript(configValue(_("LastExternalStartScript")).toString());
dlg.setForceLocalCoreFile(configValue(_("LastForceLocalCoreFile")).toBool());
if (dlg.exec() != QDialog::Accepted)
return;
@@ -1612,11 +1613,12 @@ void DebuggerPluginPrivate::attachCore()
setConfigValue(_("LastExternalExecutableFile"), dlg.localExecutableFile());
setConfigValue(_("LastLocalCoreFile"), dlg.localCoreFile());
setConfigValue(_("LastRemoteCoreFile"), dlg.remoteCoreFile());
setConfigValue(_("LastExternalProfile"), dlg.kit()->id().toString());
setConfigValue(_("LastExternalKit"), dlg.kit()->id().toString());
setConfigValue(_("LastExternalStartScript"), dlg.overrideStartScript());
setConfigValue(_("LastForceLocalCoreFile"), dlg.forcesLocalCoreFile());
DebuggerStartParameters sp;
QString display = dlg.isLocal() ? dlg.localCoreFile() : dlg.remoteCoreFile();
QString display = dlg.useLocalCoreFile() ? dlg.localCoreFile() : dlg.remoteCoreFile();
QTC_ASSERT(fillParameters(&sp, dlg.kit()), return);
sp.masterEngineType = GdbEngineType;
sp.executable = dlg.localExecutableFile();