diff options
author | hjk <hjk@qt.io> | 2020-04-28 12:08:22 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-04-29 13:31:08 +0000 |
commit | 4486f78e49bd59c74fd7f208fd4f954d90c5272c (patch) | |
tree | 51c7ec157e93b10404619bd04b0121979cdf2929 /src/plugins/android/androidrunnerworker.cpp | |
parent | b5d41b7ab22e316b4b1238bb3559608f7002dc13 (diff) |
Android: Check existence of debug server binary before upload
Debugging will fail later, better catch the problem early.
Change-Id: I973ff346db718e2050f5aafab068717d4e723fa6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/plugins/android/androidrunnerworker.cpp')
-rw-r--r-- | src/plugins/android/androidrunnerworker.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp index 34e0ee01e4d..cc5df2ff671 100644 --- a/src/plugins/android/androidrunnerworker.cpp +++ b/src/plugins/android/androidrunnerworker.cpp @@ -48,6 +48,7 @@ #include <utils/url.h> #include <utils/fileutils.h> +#include <QFileInfo> #include <QLoggingCategory> #include <QTcpServer> #include <QThread> @@ -341,11 +342,11 @@ bool AndroidRunnerWorker::uploadDebugServer(const QString &debugServerFileName) // Copy gdbserver from temp location to app directory if (!runAdb({"shell", "run-as", m_packageName, "cp" , *tempGdbServerPath, debugServerFileName})) { - qCDebug(androidRunWorkerLog) << "Gdbserver copy from temp directory failed"; + qCDebug(androidRunWorkerLog) << "Debug server copy from temp directory failed"; return false; } QTC_ASSERT(runAdb({"shell", "run-as", m_packageName, "chmod", "777", debugServerFileName}), - qCDebug(androidRunWorkerLog) << "Gdbserver chmod 777 failed."); + qCDebug(androidRunWorkerLog) << "Debug server chmod 777 failed."); return true; } @@ -503,6 +504,15 @@ void AndroidRunnerWorker::asyncStartHelper() QString debugServerFile; if (m_useLldb) { 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); } else { QString debugServerExecutable = "gdbserver"; |