qt creator报错日志需分三块查看:编译阶段看compile output面板,运行时崩溃盯application output和windows事件查看器,qt模块级日志需通过qt_logging_rules环境变量开启特定通道。

Qt Creator 报错日志不是统一位置输出的,得按来源分三块看:编译器输出、运行时崩溃信息、Qt 自身模块日志。不区分来源直接扫控制台,90% 的错误会漏掉关键线索。
编译阶段报错:看 Compile Output 面板
这类错误发生在点击“构建”后,比如 Unknown module(s) in QT: webenginewidgets 或 error: 'QWebEngineView' was not declared in this scope。它们不是程序崩溃,而是 qmake 或 cmake 没法生成有效构建脚本。
-
Compile Output面板(默认在底部)才是第一现场,不是Application Output - 错误行通常带具体文件路径和行号,例如:
main.cpp:12: error: use of undeclared identifier 'QWebEngineView' - 如果只显示
Project ERROR: Unknown module(s) in QT: webenginewidgets,说明 .pro 文件里写了QT += webenginewidgets,但 Qt 安装里没这个模块或编译器不支持 - MinGW 编译器下出现该错误,基本可直接判定为编译器不兼容——
webenginewidgets仅支持 MSVC(Windows)或 Clang(macOS),MinGW 无官方二进制支持
运行时崩溃:盯住 Application Output 和 Windows 事件查看器
程序启动后几秒内闪退,控制台只显示 Process crashed 或空白,这种最棘手。Qt Creator 默认隐藏了底层异常信号,得手动开。
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
- 确保勾选了
Projects → Run Settings → Run → Run in terminal(Windows 下会弹 CMD 窗口,能捕获0xc0000005这类访问冲突) - Windows 上若仍无输出,打开“事件查看器 → Windows 日志 → 应用程序”,筛选来源为
Application Error,找对应时间点的错误事件,里面会有模块名和地址偏移 - 常见崩溃原因:未初始化
QApplication就创建QWebEngineView;在非 GUI 线程调用 WebEngine 相关 API;释放了已被 WebEngine 内部持有的对象指针
Qt 模块级调试日志:用 QT_LOGGING_RULES 打开特定通道
比如想确认 webenginewidgets 是否加载成功、是否因证书或代理失败静默退出,光看编译和运行日志不够,得让 Qt 主动“说话”。
- 在运行前设置环境变量:
QT_LOGGING_RULES="qt.webengine.debug=true;qt.qpa.fonts.debug=false" - 规则语法是
模块名.级别=true/false,常用模块名包括qt.webengine、qt.webengine.context、qt.webengine.network - 日志会输出到
Application Output,也可能写进系统日志(Linux)或%LOCALAPPDATA%\QtProject\QtCreator\logs(Windows) - 注意:Qt 5.15+ 默认关闭 WebEngine 调试日志,不设规则就完全不输出——这点极易被忽略
真正卡住的时候,往往不是某一行代码写错了,而是你看到的日志根本不在它该出现的地方。先锁定日志源头,再查内容,比盲目改代码快得多。










