From 54d2f1bb39bd6bb4336dc6d2c3bcddd7b3865ff3 Mon Sep 17 00:00:00 2001 From: David Schulz <david.schulz@digia.com> Date: Fri, 25 Oct 2013 10:44:11 +0200 Subject: [PATCH] Debugger: Add parsing of cdb -version output to debugger reinitialize. Task-number: QTCREATORBUG-10511 Change-Id: I0c2fde3aedb31a60bc553b490a97841af1746a14 Reviewed-by: hjk <hjk121@nokiamail.com> --- src/plugins/debugger/debuggeritem.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/debuggeritem.cpp b/src/plugins/debugger/debuggeritem.cpp index 0768d2ecdd6..2c9ae64f378 100644 --- a/src/plugins/debugger/debuggeritem.cpp +++ b/src/plugins/debugger/debuggeritem.cpp @@ -88,8 +88,10 @@ void DebuggerItem::reinitializeFromFile() { QProcess proc; proc.start(m_command.toString(), QStringList() << QLatin1String("--version")); - proc.waitForStarted(); - proc.waitForFinished(); + if (!proc.waitForStarted() || !proc.waitForFinished()) { + m_engineType = NoEngineType; + return; + } QByteArray ba = proc.readAll(); if (ba.contains("gdb")) { m_engineType = GdbEngineType; @@ -120,6 +122,19 @@ void DebuggerItem::reinitializeFromFile() m_engineType = PdbEngineType; return; } + if (ba.isEmpty()) { + proc.start(m_command.toString(), QStringList() << QLatin1String("-version")); + if (!proc.waitForStarted() || !proc.waitForFinished()) { + m_engineType = NoEngineType; + return; + } + ba = proc.readAll(); + if (ba.startsWith("cdb")) { + m_engineType = CdbEngineType; + m_abis = Abi::abisOfBinary(m_command); + return; + } + } m_engineType = NoEngineType; } -- GitLab