Fix 'Attach Debugger' in output pane.

Bring back the slot, suppress a warning about empty binaries
in the release check.

Task-number: QTCREATORBUG-7677
Change-Id: I2f1703b38b68995a1e2533ed8a6c94985cc3b430
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Friedemann Kleint
2012-08-30 10:26:09 +02:00
committed by hjk
parent d03f33e482
commit 3797595c31
3 changed files with 23 additions and 1 deletions

View File

@@ -52,6 +52,10 @@ namespace Utils {
class SavedAction;
}
namespace ProjectExplorer {
class RunControl;
}
namespace Debugger {
class DebuggerEngine;
@@ -122,6 +126,9 @@ public:
virtual DebuggerToolTipManager *toolTipManager() const = 0;
virtual QSharedPointer<GlobalDebuggerOptions> globalDebuggerOptions() const = 0;
public slots:
virtual void attachExternalApplication(ProjectExplorer::RunControl *rc) = 0;
};
// This is the only way to access the global object.

View File

@@ -888,6 +888,7 @@ public slots:
void attachToRemoteServer();
void attachToProcess(bool startServerOnly);
void attachToRunningApplication();
void attachExternalApplication(ProjectExplorer::RunControl *rc);
void attachToQmlPort();
void startRemoteEngine();
void runScheduled();
@@ -1684,6 +1685,18 @@ void DebuggerPluginPrivate::attachToProcess(bool startServerOnly)
}
}
void DebuggerPluginPrivate::attachExternalApplication(ProjectExplorer::RunControl *rc)
{
DebuggerStartParameters sp;
fillParameters(&sp);
sp.attachPID = rc->applicationProcessHandle().pid();
sp.displayName = tr("Process %1").arg(sp.attachPID);
sp.startMode = AttachExternal;
sp.closeMode = DetachAtClose;
sp.toolChainAbi = rc->abi();
DebuggerRunControlFactory::createAndScheduleRun(sp);
}
void DebuggerPluginPrivate::attachToQmlPort()
{
DebuggerStartParameters sp;

View File

@@ -5235,7 +5235,9 @@ bool GdbEngine::attemptQuickStart() const
void GdbEngine::checkForReleaseBuild()
{
QString binary = startParameters().executable;
const QString binary = startParameters().executable;
if (binary.isEmpty())
return;
ElfReader reader(binary);
ElfData elfData = reader.readHeaders();
QString error = reader.errorString();