forked from qt-creator/qt-creator
Debugger: Use symbolFile for binary validation
In remote setups this is typically a local copy of the executable. Change-Id: I2c4e38559245e7b2cb4a609b93d80fde2b999cec Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
This commit is contained in:
@@ -1828,8 +1828,11 @@ void DebuggerEngine::validateExecutable(DebuggerRunParameters *sp)
|
|||||||
return;
|
return;
|
||||||
if (sp->languages == QmlLanguage)
|
if (sp->languages == QmlLanguage)
|
||||||
return;
|
return;
|
||||||
QString binary = sp->inferior.executable;
|
|
||||||
if (binary.isEmpty())
|
QString symbolFile = sp->symbolFile;
|
||||||
|
if (symbolFile.isEmpty())
|
||||||
|
symbolFile = sp->inferior.executable;
|
||||||
|
if (symbolFile.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const bool warnOnRelease = boolSetting(WarnOnReleaseBuilds);
|
const bool warnOnRelease = boolSetting(WarnOnReleaseBuilds);
|
||||||
@@ -1845,11 +1848,11 @@ void DebuggerEngine::validateExecutable(DebuggerRunParameters *sp)
|
|||||||
"experience for this binary format.");
|
"experience for this binary format.");
|
||||||
return;
|
return;
|
||||||
} else if (warnOnRelease) {
|
} else if (warnOnRelease) {
|
||||||
if (!binary.endsWith(QLatin1String(".exe"), Qt::CaseInsensitive))
|
if (!symbolFile.endsWith(QLatin1String(".exe"), Qt::CaseInsensitive))
|
||||||
binary.append(QLatin1String(".exe"));
|
symbolFile.append(QLatin1String(".exe"));
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
QStringList rc;
|
QStringList rc;
|
||||||
if (getPDBFiles(binary, &rc, &errorMessage) && !rc.isEmpty())
|
if (getPDBFiles(symbolFile, &rc, &errorMessage) && !rc.isEmpty())
|
||||||
return;
|
return;
|
||||||
if (!errorMessage.isEmpty()) {
|
if (!errorMessage.isEmpty()) {
|
||||||
detailedWarning.append(QLatin1Char('\n'));
|
detailedWarning.append(QLatin1Char('\n'));
|
||||||
@@ -1870,11 +1873,11 @@ void DebuggerEngine::validateExecutable(DebuggerRunParameters *sp)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Utils::ElfReader reader(binary);
|
Utils::ElfReader reader(symbolFile);
|
||||||
Utils::ElfData elfData = reader.readHeaders();
|
Utils::ElfData elfData = reader.readHeaders();
|
||||||
QString error = reader.errorString();
|
QString error = reader.errorString();
|
||||||
|
|
||||||
Internal::showMessage(_("EXAMINING ") + binary, LogDebug);
|
Internal::showMessage(_("EXAMINING ") + symbolFile, LogDebug);
|
||||||
QByteArray msg = "ELF SECTIONS: ";
|
QByteArray msg = "ELF SECTIONS: ";
|
||||||
|
|
||||||
static QList<QByteArray> interesting;
|
static QList<QByteArray> interesting;
|
||||||
|
Reference in New Issue
Block a user