diff options
author | The Qt Project <[email protected]> | 2025-07-04 11:26:40 +0000 |
---|---|---|
committer | The Qt Project <[email protected]> | 2025-07-04 11:26:40 +0000 |
commit | e7335ca4508219e8f36e637439dc30573514b069 (patch) | |
tree | d1f18834e097694b018a8fb42862a47bf4417446 | |
parent | 801c99d20016cb0a63c4c4ddf2055d33f1f987e9 (diff) | |
parent | 2e25985a176248fe5c4610748d28c3e4b128c16f (diff) |
-rw-r--r-- | doc/qtcreator/src/android/androiddev.qdoc | 13 | ||||
-rw-r--r-- | doc/qtcreator/src/overview/creator-only/creator-issues.qdoc | 5 | ||||
-rw-r--r-- | src/app/main.cpp | 3 | ||||
-rw-r--r-- | src/libs/qtcreatorcdbext/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/coreplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 33 | ||||
-rw-r--r-- | src/plugins/debugger/lldb/lldbengine.cpp | 4 | ||||
-rw-r--r-- | src/plugins/projectexplorer/gcctoolchain.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qmljstools/qmljsmodelmanager.cpp | 2 |
10 files changed, 48 insertions, 20 deletions
diff --git a/doc/qtcreator/src/android/androiddev.qdoc b/doc/qtcreator/src/android/androiddev.qdoc index e7d7c373b68..2d892a22121 100644 --- a/doc/qtcreator/src/android/androiddev.qdoc +++ b/doc/qtcreator/src/android/androiddev.qdoc @@ -355,6 +355,19 @@ You can use LLDB to debug applications on Android devices that you develop with Qt 5.15.9 or later and Qt 6.2 or later. + Recent releases of \QC have issues with Native (C++) debugging using LLDB + on Android. + + This was fixed in \QC 17.0.1. To fix this in earlier releases, go to + \preferences > \uicontrol Debugger > \uicontrol GDB, and add the following + in \uicontrol {Additional Attach Commands}. + + \badcode + settings set plugin.jit-loader.gdb.enable off + \endcode + + \image {qtcreator-preferences-debugger-gdb.webp} {GDB tab in Debugger preferences} + You enable debugging in different ways on different Android devices. Look for \uicontrol {USB Debugging} under \uicontrol {Developer Options}. Tap \uicontrol {Build number} in \uicontrol Settings > \uicontrol About diff --git a/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc b/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc index 8d310983323..aecc8021647 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc @@ -19,7 +19,10 @@ The \QC development team is aware of the issues described here, and therefore, you do not need to report them in the \l{https://bugreports.qt.io} - {Qt Project Bug Tracker}. + {Qt Project Bug Tracker}. However, if you run into these issues, + feel free to check the links to the applicable bug ticket + and add your vote or any additional information you might have + about your development environment. For a list of fixed issues and added features, go to \uicontrol Help > \uicontrol {Change Log}. diff --git a/src/app/main.cpp b/src/app/main.cpp index 1f3e8186734..557faf7d982 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1007,9 +1007,6 @@ int main(int argc, char **argv) QObject::connect(&app, &SharedTools::QtSingleApplication::messageReceived, &pluginManager, &PluginManager::remoteArguments); - QObject::connect(&app, SIGNAL(fileOpenRequest(QString)), coreplugin->plugin(), - SLOT(fileOpenRequest(QString))); - // shutdown plugin manager on the exit QObject::connect(&app, &QCoreApplication::aboutToQuit, &pluginManager, &PluginManager::shutdown); diff --git a/src/libs/qtcreatorcdbext/CMakeLists.txt b/src/libs/qtcreatorcdbext/CMakeLists.txt index d80ae96bfb1..c731495672d 100644 --- a/src/libs/qtcreatorcdbext/CMakeLists.txt +++ b/src/libs/qtcreatorcdbext/CMakeLists.txt @@ -247,7 +247,7 @@ if (_library_enabled) extend_qtc_library(qtcreatorcdbext DEPENDS "${Python3_LIBRARIES}" INCLUDES "${Python3_INCLUDE_DIRS}" - DEFINES WITH_PYTHON=1 PY_SSIZE_T_CLEAN Py_GIL_DISABLED + DEFINES WITH_PYTHON=1 PY_SSIZE_T_CLEAN SOURCES pycdbextmodule.cpp pycdbextmodule.h pyfield.cpp pyfield.h diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index eb7e90b68ac..83b7432a7fc 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -76,6 +76,8 @@ const char kWarnCrashReportingSetting[] = "WarnCrashReporting"; CorePlugin::CorePlugin() { + QObject::connect(qApp, SIGNAL(fileOpenRequest(QString)), this, SLOT(fileOpenRequest(QString))); + // Trigger creation as early as possible before anyone else could // mess with the systemEnvironment before it is "backed up". (void) systemSettings(); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 3806d2a8fe5..b1b13351d3f 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1180,20 +1180,27 @@ DebuggerPluginPrivate::DebuggerPluginPrivate(const QStringList &arguments) addCdbOptionPages(&m_optionPages); - connect(ModeManager::instance(), &ModeManager::currentModeAboutToChange, this, [] { - if (ModeManager::currentModeId() == MODE_DEBUG) - DebuggerMainWindow::leaveDebugMode(); - }); + connect( + ModeManager::instance(), + &ModeManager::currentModeAboutToChange, + DebuggerMainWindow::instance(), + [] { + if (ModeManager::currentModeId() == MODE_DEBUG) + DebuggerMainWindow::leaveDebugMode(); + }); - connect(ModeManager::instance(), &ModeManager::currentModeChanged, - this, [](Id mode, Id oldMode) { - QTC_ASSERT(mode != oldMode, return); - if (mode == MODE_DEBUG) { - DebuggerMainWindow::enterDebugMode(); - if (IEditor *editor = EditorManager::currentEditor()) - editor->widget()->setFocus(); - } - }); + connect( + ModeManager::instance(), + &ModeManager::currentModeChanged, + DebuggerMainWindow::instance(), + [](Id mode, Id oldMode) { + QTC_ASSERT(mode != oldMode, return); + if (mode == MODE_DEBUG) { + DebuggerMainWindow::enterDebugMode(); + if (IEditor *editor = EditorManager::currentEditor()) + editor->widget()->setFocus(); + } + }); connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::settingsChanged, this, &DebuggerPluginPrivate::updateDebugWithoutDeployMenu); diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index a19b75b51e3..46279eb9480 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -28,6 +28,7 @@ #include <coreplugin/idocument.h> #include <coreplugin/icore.h> +#include <projectexplorer/abi.h> #include <projectexplorer/runcontrol.h> #include <utils/algorithm.h> @@ -262,6 +263,9 @@ void LldbEngine::handleLldbStarted() for (const FilePath &path : rp.solibSearchPath()) executeDebuggerCommand("settings append target.exec-search-paths " + path.path()); + if (rp.toolChainAbi().osFlavor() == ProjectExplorer::Abi::AndroidLinuxFlavor) + executeDebuggerCommand("settings set plugin.jit-loader.gdb.enable off"); + const FilePath &executable = rp.inferior().command.executable(); DebuggerCommand cmd2("setupInferior"); cmd2.arg("executable", executable.path()); diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index c28d49bd137..ef22b6b1361 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -1505,6 +1505,8 @@ Toolchains GccToolchainFactory::autoDetect(const ToolchainDetector &detector) co if (HostOsInfo::isMacHost() && detector.device->type() == Constants::DESKTOP_DEVICE_TYPE) { executables.removeOne(FilePath::fromPathPart(u"/usr/bin/gcc")); executables.removeOne(FilePath::fromPathPart(u"/usr/bin/g++")); + executables.removeOne(FilePath::fromPathPart(u"/usr/bin/llvm-gcc")); + executables.removeOne(FilePath::fromPathPart(u"/usr/bin/llvm-g++")); } Utils::sort(executables); diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp index 2288896323b..0fd45bbf02a 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp @@ -233,7 +233,7 @@ Core::GeneratedFiles JsonWizardFileGenerator::fileList(MacroExpander *expander, const Result<Core::GeneratedFile> file = generateFile(f, expander); if (!file) *errorMessage = file.error(); - return file.value(); + return file.value_or(Core::GeneratedFile()); }); if (Utils::contains(result, [](const Core::GeneratedFile &gf) { diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index ee37f375a06..d2192774963 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -85,7 +85,7 @@ static void findAllQrcFiles(const FilePath &filePath, FilePaths &out) out.append(path.canonicalPath()); return IterationPolicy::Continue; }, - {{"*.qrc"}, QDir::Files | QDir::Hidden, QDirIterator::Subdirectories}); + {{"*.qrc"}, QDir::Files | QDir::Hidden | QDir::NoSymLinks, QDirIterator::Subdirectories}); } static FilePaths findGeneratedQrcFiles(const ModelManagerInterface::ProjectInfo &pInfo, |