支持的调试器
您可以使用Qt Creator 来调试编译后的代码。在大多数受支持的平台上,您可以使用GNU符号调试器(GDB)。在Microsoft Windows上,当使用Microsoft工具链时,您需要Microsoft控制台调试器(CDB)。在macOS和Linux上,您可以使用LLDB调试器。
在所有受支持的平台上,您都可以使用 PDB 来调试 Python 源代码。
注意:您 需要使用支持 Python 脚本功能的调试器版本。
下表总结了对 C++ 代码调试的支持情况:
| 平台 | 编译器 | 调试器 |
|---|---|---|
| Linux | GCC、ICC | GDB、LLDB |
| Unix | GCC、ICC | GDB |
| macOS | GCC、Clang | LLDB |
| Windows/MinGW | GCC | GDB |
| Windows/MSVC | Microsoft Visual C++ 编译器 | Windows 调试工具/CDB |
Qt Creator 会从计算机上找到的调试器中,为每个套件自动选择一个合适的调试器。如果计算机上未安装调试器,或者Qt Creator 不支持已安装的版本,则自动设置将失败。
GDB 版本
请使用 GDB 7.5 或更高版本,并配备 Python 脚本扩展以及 Python 3.7 或更高版本。
若要使用 GDB 和 GDB 服务器进行远程调试,目标设备上 GDB 服务器的最低支持版本为 7.0。
在 Windows 系统上,请使用 Qt 软件包中捆绑的、或随最新版本 MinGW 提供的支持 Python 的 GDB 版本。在大多数 Linux 发行版上,系统自带的 GDB 构建版本即可满足需求。
您也可以按照《QtCreator 构建 GDB》中的说明自行构建 GDB。
macOS 上随 Xcode 提供的 GDB 构建版本不再受支持。
Windows 调试工具
Qt Creator 支持所有 Qt 所支持的 CDB 目标平台版本。
要使用 CDB 调试器,请在安装Qt Creator 时安装“Windows 调试工具”,方法是使用Qt Online Installer (在Qt >Tools > Qt Creator),或者使用独立的Qt Creator 安装包。
32 位 CDB 版本只能调试 32 位可执行文件,而 64 位版本则可以调试 64 位和 32 位可执行文件。 但是,如果使用 64 位调试器中断 32 位可执行文件,可能会显示 WOW64 模拟器的 32 位模拟层的堆栈跟踪。
Qt Creator 通过将qtcreatorcdbext.dll 扩展库加载到命令行调试器中,来扩展其功能。该库必须位于libs\qtcreatorcdbext64 和libs\qtcreatorcdbext32 文件夹中。要将其安装到该位置,请在安装 时选择 Qt Creator CDB Debugger Support 安装Qt Creator 时选择此选项。
当使用 Microsoft Visual C++ 编译器手动构建Qt Creator 时,构建过程会检查"%ProgramFiles%\Debugging Tools for Windows" 文件夹中是否存在所需文件。
macOS 的调试工具
Qt 二进制发行版中包含库的调试版和发布版。但是,即使您的应用程序是以调试模式编译的,您也必须明确告知运行时链接器要使用调试库,因为发布版是默认库。
要使用调试库,请在运行配置中设置一个标志,并选择“Projects ”模式。在运行配置中,选择Use debug version of frameworks 。
LLDB 版本
LLDB 调试器与 GDB 调试器功能相似。在 macOS 上的 Xcode 中,LLDB 是桌面版 C++ 项目的默认调试器。LLDB 通常与 Clang 编译器配合使用(尽管您也可以将其与 GCC 配合使用)。
在 macOS 上,您可以使用 Xcode 随附的 LLDB 版本,也可以从源代码编译。支持的最低版本为 LLDB 320.4。您需要一个支持 Python 的 LLDB 版本。
我们建议使用最新 Xcode 随附的 LLDB 版本。
在 Linux 系统上,支持的最低版本为 LLDB 3.8。
PDB 版本
PDB是用于 Python 应用程序的源代码调试器。对于包含 pyproject.toml 配置文件的项目。
有关更多信息,请参阅《设置 PySide6》。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.