Debugger: Add parsing of cdb -version output to debugger reinitialize.

Task-number: QTCREATORBUG-10511

Change-Id: I0c2fde3aedb31a60bc553b490a97841af1746a14
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
David Schulz
2013-10-25 10:44:11 +02:00
committed by hjk
parent f7374438e5
commit 54d2f1bb39

View File

@@ -88,8 +88,10 @@ void DebuggerItem::reinitializeFromFile()
{ {
QProcess proc; QProcess proc;
proc.start(m_command.toString(), QStringList() << QLatin1String("--version")); proc.start(m_command.toString(), QStringList() << QLatin1String("--version"));
proc.waitForStarted(); if (!proc.waitForStarted() || !proc.waitForFinished()) {
proc.waitForFinished(); m_engineType = NoEngineType;
return;
}
QByteArray ba = proc.readAll(); QByteArray ba = proc.readAll();
if (ba.contains("gdb")) { if (ba.contains("gdb")) {
m_engineType = GdbEngineType; m_engineType = GdbEngineType;
@@ -120,6 +122,19 @@ void DebuggerItem::reinitializeFromFile()
m_engineType = PdbEngineType; m_engineType = PdbEngineType;
return; 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; m_engineType = NoEngineType;
} }