diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 9093622ea8a..32d57cfa1a8 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1457,8 +1457,7 @@ void DebuggerPluginPrivate::attachExternalApplication(ProjectExplorer::RunContro sp.attachPID = rc->applicationProcessHandle().pid(); sp.displayName = tr("Debugger attached to %1").arg(rc->displayName()); sp.startMode = AttachExternal; - //sp.toolChainAbi = anyAbiOfBinary(sp.executable); - sp.toolChainAbi = ProjectExplorer::Abi::hostAbi(); // FIXME: Extract from RunControl? + sp.toolChainAbi = rc->abi(); if (DebuggerRunControl *rc = createDebugger(sp)) startDebugger(rc); } diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index c9c93a0ea10..6d66a03bca2 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -534,6 +534,13 @@ QString RunControl::displayName() const return m_displayName; } +Abi RunControl::abi() const +{ + if (const RunConfiguration *rc = m_runConfiguration.data()) + return rc->abi(); + return Abi(); +} + ProcessHandle RunControl::applicationProcessHandle() const { return m_applicationProcessHandle; diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index b5fb55f7714..ec1de471bab 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -232,6 +232,7 @@ public: ProcessHandle applicationProcessHandle() const; void setApplicationProcessHandle(const ProcessHandle &handle); + Abi abi() const; bool sameRunConfiguration(const RunControl *other) const;