Qt-一篇文章搞定QtCreator和Visual Studio源码调试环境配置
当我们遇到一些Qt底层问题或者需要学习源码,就需要在IDE中配置环境能够调试Qt源码,本篇文章将告诉你如何在QtCreator和Visual Studio上配置,并从原理上明白为何这样做,当你需要在其他IDE中配置时,知道原理了也会让你懂得举一反三,让我们开始吧 😃。
前言
当我们遇到一些Qt底层问题或者需要学习源码,就需要在IDE中配置环境能够调试Qt源码,本篇文章将告诉你如何在QtCreator和Visual Studio上配置,并从原理上明白为何这样做,当你需要在其他IDE中配置时,知道原理了也会让你懂得举一反三,让我们开始吧 😃
原理
Qt是一个C++的框架,C++是编译型语言,由编译器(Compiler)生成可执行文件,同时根据编译器执行参数生成调试信息,调试源码的条件是我们有:1. 调试信息 2. 源码。
对于gcc/clang/mingw等编译器而言,调试信息是保存在目标文件中的,而对于MSVC编译器,他的调试信息在单独的pdb文件中,因此需要下载pdb文件。源码我们只需要在Qt官网或者镜像网站中下载自己对应版本的Qt源码即可。
源码下载
我的Qt安装路径在这里D:\Qt\Qt5.12.10\5.12.10\Src
。如果还没安装QtCreator要勾选Sources选项,最终目录在类似D:\Qt\Qt5.12.10\5.12.10\Src
的地方,如果没有勾选,可以继续往下看。
进入https://download.qt.io/online/qtsdkrepository/
我是windows版本所以选择windows_x86,然后选择desktop,接着根据自己的版本选择不同的目录,我是5.12.10版本,所以搜索qt5_512
其中src_doc_example里的是源码+文档+例子的下载目录,进入后点击qt.qt5.51210.src/,
可以看到很多分类的源码,理论上手动下也可以,不过太麻烦了,我们找到安装路径D:\Qt\Qt5.12.10
下的MaintenanceTool.exe,打开后点击左下角设置
添加临时资料档案库,输入我们选择的网址https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_51210_src_doc_examples/qt.qt5.51210.src/,可以点击条件测试看看网络连接有没有问题。确定后点下一步一直到这里:
选择添加或移除组件,你应该能看到这一项
勾上它然后下一步安装就可以了。最终安装在D:\Qt\Qt5.12.10\5.12.10\Src
这里,安装完可以检查一下。qt官网下载会比较慢。可以到镜像网站去找:https://download.qt.io/static/mirrorlist/,
找到源码路径的方法一样,例如南阳的路径是:https://mirror.nyist.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_51210_src_doc_examples/qt.qt5.51210.src/。
调试文件下载
如果使用的是MSVC的编译器,就要下载pdb调试文件,路径:https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_51210/qt.qt5.51210.debug_info.win64_msvc2017_64/
我的QtCreator中使用的是msvc2017_64位的编译器,进入这个目录找到
base这部分,这是最基础的调试信息,其他可以根据日后需要下载,记得下载7z后缀的,sha1是用来校验的,
下载后解压找到msvc2017_64这一级的文件夹,拷贝到D:\Qt\Qt5.12.10\5.12.10
,在拷贝之前,目录下应该已经有msvc2017_64这个目录,否则就是下载的版本不对了。我们下载的其实是一些pdb文件,主要在msvc2017_64\bin,msvc2017_64\lib中,原有的目录结构和下载的一样,所以可以直接粘贴解压的msvc2017_64文件夹。
配置IDE
QtCreator
工具->选项->调试器->概要,添加源码路径
我的构建套件如下这里amd64_x86是指64位系统上生成的32位编译器,其实就是32位的,调试器也是32位的,我使用的是CDB调试器,所以要配置CDB paths,这里因为是32位的所以目录是msvc2017而不是msvc2017_64
Visual Stdio
解决方案右键属性,添加源码路径
菜单栏->工具->选项->调试->符号,添加pdb路径。这里因为我VS用的是64位的编译器和调试器,所以目录是mscv2017_64。
实际操作后发现即使没有配置pdb路径,VS也会自动帮我们加载pdb文件,只要文件在dll相同的路径并且pdb和dll匹配。
通过输出窗口可以看出来,
至此我们就可以调试Qt源码了。VS:
QtCreator:
参考:
- https://blog.csdn.net/Alliswell2021/article/details/139065198
- https://blog.csdn.net/new_zhou/article/details/135573187
- https://blog.csdn.net/ss_0507/article/details/135110041
更多推荐
所有评论(0)