forked from qt-creator/qt-creator
cdb: Match x64 target for arm64 cdb
On a Windows arm64 machine "Debugging tools for Windows" only installs and arm64 and an x86 cdb. By default no x64 cdb is present there. Though it is possibble to use the arm64 cdb to debug an x64 target on these machines. Reflect that fact in our debugger matching logic. Task-number: QTCREATORBUG-30533 Change-Id: I6f3ecb7ce393c4860e2eeac286683e2b60fea7b6 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -415,6 +415,12 @@ static DebuggerItem::MatchLevel matchSingle(const Abi &debuggerAbi, const Abi &t
|
|||||||
targetAbi.osFlavor() <= Abi::WindowsLastMsvcFlavor;
|
targetAbi.osFlavor() <= Abi::WindowsLastMsvcFlavor;
|
||||||
if (!isMsvcTarget && (engineType == GdbEngineType || engineType == LldbEngineType))
|
if (!isMsvcTarget && (engineType == GdbEngineType || engineType == LldbEngineType))
|
||||||
matchOnMultiarch = DebuggerItem::MatchesSomewhat;
|
matchOnMultiarch = DebuggerItem::MatchesSomewhat;
|
||||||
|
// arm64 cdb can debug x64 targets
|
||||||
|
if (isMsvcTarget && engineType == CdbEngineType
|
||||||
|
&& debuggerAbi.architecture() == Abi::ArmArchitecture
|
||||||
|
&& targetAbi.architecture() == Abi::X86Architecture
|
||||||
|
&& debuggerAbi.wordWidth() == 64 && targetAbi.wordWidth() == 64)
|
||||||
|
return DebuggerItem::MatchesSomewhat;
|
||||||
if (debuggerAbi.architecture() != Abi::UnknownArchitecture
|
if (debuggerAbi.architecture() != Abi::UnknownArchitecture
|
||||||
&& debuggerAbi.architecture() != targetAbi.architecture())
|
&& debuggerAbi.architecture() != targetAbi.architecture())
|
||||||
return matchOnMultiarch;
|
return matchOnMultiarch;
|
||||||
|
Reference in New Issue
Block a user