[QT_055]设置QT源码调试(qtc+vs/mingw+msvc)

news/2024/12/2 5:03:12/

        在开发过程中,我们经常用到调试功能,这样方便查找Bug;Qt是一个开源的框架,可以看到源码。虽然但大部分情况下,我们开发时,只是使用,并没有调试它的源码,但如果想深入了解Qt的一些机制原理,可以配置环境调试它的源码。通常,没有勾选默认安装Qt后,编译器默认安装的是MINGW,调试器为GDB。这些都是默认安装好的。但是,如果你有需要使用MSVC编译器,不仅要安装MSVC编译器,还需要安装对应的调试器CDB。 本文介绍如何配置Qt源码的调试环境。

下图是默认安装Qt后的MINGW编译器和GDB调试器配置:

 

 下图是使用MSVC编译器及对应的CDB调试器配置:

 

 注意:下文示例均已MSVC2017_64编译器配置调试为例。实际上使用GDB调试器,不需要下载pdb文件,只需要将源码路径映射添加进去,即可调试。MSVC稍微复杂点,需要将pdb文件放到对应目录才可以调试。

0.调试准备

1.安装Qt 时候,勾选Source选项。

如下图所示:

没有勾选的,可以打开MaintenanceTool.exe工具,选择 [添加或删除组件] ,勾选上Source,点击[下一步],更新即可。

2.下载pdb文件(手动添加需要的文件)

首先说明,没有正确版本的qt库相关的dll对应的dbg文件就无法调试进入qt的源码中!!!所以在下载的时候,一定要选择好自己对应的版本。

Qt所有版本的总目录:

https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/

在该路径下根据 Qt 版本号查找对应版本,我的版本是 5.12.0 ,对应的版本号就是 qt5_5120
我的版本号对应的下载路径是:
Index of /online/qtsdkrepository/windows_x86/desktop/qt5_5120/qt.qt5.5120.debug_info.win64_msvc2017_64
下载完成后,将解压后的文件夹内对应编译器-对应的文件夹内的pdb文件放到Qt安装目录相同的文件夹下。例如下图所示:

 

如何查找下载自己对应的版本文件?
第一步:

 

第二步:

 第三步:

 

1.我的环境

1.QT版本:5.12.0

2.操作系统:Windows10

3.使用编译器:MSVC2017_64

2.如何添加调试?

2.1手动添加文件(需要将刚才下载的pdb文件已经放到对应的目录中

2.1.1 Qt Creator

点击顶部菜单栏->工具->选项->调试器->概要->源码路径映射->添加Qt源码->应用

 

2.1.2 Visual Studio 

第一步:

右键解决方案,选择[属性]–> [通用属性]–> [调试源文件],在窗口内添加源码路径。

第二步:

 [设置]–>[工具]->[选项]-> [调试]-> [符号] ,在右侧 符号文件(.pdb位置)中添加 pdb目录。

(此处我是直接把pdb文件放在对应的bin、lib目录下)

 

2.2联网下载

2.2.1使用Qt Creator添加下载源(设置临时存储库)

这里设置源进行下载,其实等同于我们上面进入网站去手动下载。仔细看,设置的几个存储库的地址,几乎就是我们上面下载pdb的地址。

一些常用的源:

 qt安装包下载_开源镜像站-阿里云 
Index of qt/ - SJTUG Mirror Index 
Index of /qtproject/ 

我的源设置如下:

https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_mingw/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5120/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_qtcreator/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5120_src_doc_examples/

注意:有时候下载的pdb并不是很全,还是需要再手动去下载添加。如果使用不同的源,只需要把前面的 https://mirrors.tuna.tsinghua.edu.cn/ 源路径修改,后面的路径不需要改变。

2.2.2勾选Qt Debug Inforation Files,让其自动下载pdb文件

下载的源设置好以后,还需要勾选Qt Debug Inforation Files选项去下载pdb文件。由于前面我们已经勾选了对应的编译器,所以,下载的时候会根据你所选的编译器去下载对应的pdb文件。

 

2.2.3前两步完成以后,依旧还需要按照2.1.1步骤添加源码路径映射

即:点击顶部菜单栏->工具->选项->调试器->概要->源码路径映射->添加Qt源码->应用。

2.2.4调试

1.新建一个测试项目,按F9或者直接在对应的行号前面点击一下,出现红点,即表示添加断点成功。

 

2.点击左下角带有虫子的图标,即表示调试项目。等待程序进入断点即可。进入Qt内部的方法,就可以看到内部源码了。

  

3.修改源码生效问题

        首先应该明白一点,修改源码后,必须重新编译你修改后的源码,生成对应的dll来替换原来的dll;Qt 也是调用dll来工作的,毕竟它只是个编辑器,外加了编译和调试等一些功能而已。然而这里经常出问题的是,既然要编译源码,那么编译器的选择以及一些编译时的一些参数设置,如果不熟悉,极有可能编译失败!就像下面这段总结说的那样好,所以非必要,不建议编译源码。

如果在修改Qt源码后,发现程序运行时并没有生效,可能有以下几个原因:

  1. 未重新编译Qt库:在修改了Qt源码后,需要重新编译整个Qt库,才能使修改生效。确保已经按照正确的步骤重新编译了整个Qt库。

  2. 编译器版本不兼容:如果使用的是其他版本的编译器而非官方推荐的版本进行重新编译,可能会导致无法生效。请确认使用的编译器版本是否与官方推荐的一致。

  3. 编译选项设置错误:在进行重新编译时,需要注意一些选项设置是否正确。例如,在使用qmake生成Makefile文件时,需要指定正确的参数来包含你所做出的修改

  4. Qt库安装路径问题:在重新编译过程中,请确保将新版Qt库安装到一个新目录下,并将该目录添加到环境变量中。如果你仍然使用旧版Qt库,则不会看到任何更新。

  5. 可能还存在其它原因造成没有生效,可以先检查代码是否真正被调用到、符号表是否匹配等情况。

4.总结补充

其实Qt添加配置源码调试的方法是多种的,只是不同的编辑环境情况稍有不同,几乎大同小异。相信大家走到源码编译这一步,就不会是调试这么简单的情况,很大程度上需要修改其中的某个bug或者功能。如果说没有这样的需求,那做这一步对于我们学习Qt内部的实现逻辑也是非常有帮助的。


http://www.ppmy.cn/news/133592.html

相关文章

2020第十一届蓝桥杯Python组国赛【真题+解析+代码】

🎁2020第十一届蓝桥杯python组国赛真题 🚀 真题练习,冲刺国赛 🚀 2020年第十一届蓝桥python组国赛真题解析代码 博观而约取,厚积而薄发 🏆国赛真题目录 文章目录 🎁2020第十一届蓝桥杯python组国…

尼康图像处理软件——nx studio

就算你不是专业的摄影师,那么相信你对尼康品牌也并不陌生吧,而近日该品牌为大家推出了nx studio软件,这是一款便捷使用的电脑图像软件,旨在为用户提供强大的后期影像增强的功能。当然一个相机品牌的厂商出品了图像处理软件也没什么…

尼康介绍

尼康 开放分类: 日本、 公司、 相机、 数码、 品牌 尼康公司 尼康公司历史悠久,创建于1917年7月25日,由 三菱财 团(Mitsubishi)投资,合并三个光学仪器厂组成。当时,主要为日本国防部生产军用光…

realsense D400系列自校准

Viewer工具与校准纹理目标纸下载:https://download.csdn.net/download/weixin_43042683/86242590 1.下载最新版本的Viewer工具和固件 官网下载地址:https://www.intelrealsense.com/sdk-2/ 2.打开Intel RealSense Viewer,连接设备&#xff…

新建VS工程配置Intel Realsense D400系列相机(D435相机为例)

今天尝试了一下在新的Visual Studio工程下配置Intel Realsense D400系列相机的library,在朋友的协助下很顺利的一次性成功了,拿出来和大家分享一下。配置的过程主要参考的是之前配置OpenCV时候的方法。 硬件平台: win10 x64 Visual Stud…

Intel-RealSense-D400-Series的halcon接口/工具包配置说明

提示:intel realsense D400系列的halcon接口配置 文章目录 前言一、下载地址二、配置过程 1.将工具包放入对应的目录2.将dll文件放入到halcon根目录三、连接效果图及代码 前言 intel realsense D400系列的halcon接口配置 一、下载地址 连接:https://ww…

Intel RealSense实感深度摄像头自校准(Self-Calibration)步骤详细,D400系列适用

喜提国庆8天工作乐,改代码真的很帅,才华皆一切,这篇博客的由来是因为我做实验了,然后摄像头的有效距离贼差,打了技术人员的电话说他们的有效距离4m,然后边缘相差为百分之2,简直离谱,…

Intel英特尔RealSense实感深度摄像头 自校准(Self-Calibration)操作步骤讲解 D400系列适用

B站参考视频:Intel英特尔RealSense实感深度摄像头 自校准(Self-Calibration)操作步骤讲解 D400系列适用_ Viewer工具与校准纹理目标纸下载:https://download.csdn.net/download/weixin_43042683/86242590 1.下载最新版本的Viewe…