首页 > 解决方案 > 为什么我不能从 qt creator 调试 qml?

问题描述

我安装了最后一个 Qt 5.12.2 。然后我通过 Qt Creator 打开 cmake 项目。

首先,我看到了有关智能问题的大量信息:从“未声明的 nullptr 标识”到每种类型“未知类型名称”的错误。

构建成功进行,我收到了正确的二进制文件。

但是任何标记为“无人认领的断点”的断点,我都无法调试任何 .qml(.cpp 可能是调试的)

那么为什么会发生以及如何调试 QML?(这个未来还支持吗?)

更新:“QQmlDebuggingEnabler 启动器;” 并且“doc.qt.io/qt-5/qtquick-debugging.html”没有帮助:(

更新2: @Amfasis -

在此处输入图像描述

标签: qtqmlqt-creatorqtquick2

解决方案


我创建了一个基于 CMake 的 Qt Quick 项目,它表明它支持 QML/JS 调试。我检查了 CMakeLists.txt,发现了一个相关的行:

target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)

所以我认为如果你想调试你的基于 CMake 的 Qt Quick 项目,你也应该将这一行添加到你的 CMakeLists.txt 中。

并且不要忘记在调试设置部分的项目设置中检查启用 QML。


推荐阅读