forked from qt-creator/qt-creator
Android: Consolidate error handling for not found debug servers
Change-Id: I55d0ef38cf250536e71b6828e762f51221162830 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -503,18 +503,20 @@ void AndroidRunnerWorker::asyncStartHelper()
|
|||||||
// e.g. on Android 8 with NDK 10e
|
// e.g. on Android 8 with NDK 10e
|
||||||
runAdb({"shell", "run-as", m_packageName, "chmod", "a+x", packageDir.trimmed()});
|
runAdb({"shell", "run-as", m_packageName, "chmod", "a+x", packageDir.trimmed()});
|
||||||
|
|
||||||
|
if (!QFileInfo::exists(m_debugServerPath)) {
|
||||||
|
QString msg = tr("Cannot find C++ debug server in NDK installation");
|
||||||
|
if (m_useLldb) {
|
||||||
|
msg += "\n" + tr("The lldb-server binary has not been found. Maybe "
|
||||||
|
"sdk_definitions.json does not contain 'lldb;x.y' as "
|
||||||
|
"sdk_essential_package or LLDB was not installed.");
|
||||||
|
}
|
||||||
|
emit remoteProcessFinished(msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QString debugServerFile;
|
QString debugServerFile;
|
||||||
if (m_useLldb) {
|
if (m_useLldb) {
|
||||||
debugServerFile = "./lldb-server";
|
debugServerFile = "./lldb-server";
|
||||||
// Check lldb-server has been packaged
|
|
||||||
if (!QFileInfo::exists(m_debugServerPath)) {
|
|
||||||
qCDebug(androidRunWorkerLog) << "The lldb-server binary has not been "
|
|
||||||
"packaged. Maybe sdk_definitions.json does not contain 'lldb;x.y' as "
|
|
||||||
"sdk_essential_package or LLDB was not installed";
|
|
||||||
emit remoteProcessFinished(tr("lldb-server not found in package."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
uploadDebugServer(debugServerFile);
|
uploadDebugServer(debugServerFile);
|
||||||
} else {
|
} else {
|
||||||
if (packageFileExists("./lib/gdbserver")) {
|
if (packageFileExists("./lib/gdbserver")) {
|
||||||
@@ -530,8 +532,8 @@ void AndroidRunnerWorker::asyncStartHelper()
|
|||||||
debugServerFile = "./gdbserver";
|
debugServerFile = "./gdbserver";
|
||||||
// Kill the previous instances of gdbserver. Do this before copying the gdbserver.
|
// Kill the previous instances of gdbserver. Do this before copying the gdbserver.
|
||||||
runAdb({"shell", "run-as", m_packageName, "killall", "gdbserver"});
|
runAdb({"shell", "run-as", m_packageName, "killall", "gdbserver"});
|
||||||
if (m_debugServerPath.isEmpty() || !uploadDebugServer("./gdbserver")) {
|
if (!uploadDebugServer("./gdbserver")) {
|
||||||
emit remoteProcessFinished(tr("Cannot find or copy C++ debug server."));
|
emit remoteProcessFinished(tr("Cannot copy C++ debug server."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user