查看和调试Qt源码(动态编译的QT也可进入源码)good
简述
在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助。
都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进入。有人说需要静态编译 Qt 才可以,其实不然,只需要简单的几个配置就可以搞定。
版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820
Qt 版本及安装
Qt 针对 Windows 平台提供了两种安装包:
- MinGW 版 - 使用 MinGW 作为默认编译器
- MSVC 版(VS2010、VS2012、VS2013、VS2015…) - 使用 MSVC 作为默认编译器
MinGW 中附带了 GCC、GDB 等工具。所以如果安装 MinGW 版,可以使用 GDB 作为 Qt Creator 中的默认调试器;如果安装 MSVC 版,需要去微软官网额外下载 CDB 调试器。
要调试进入 Qt 源码,在安装 Qt 时,需要确保:
- 安装源码(默认不选择 Sources,需要手动勾选)
安装完成 Qt 之后,Qt Creator 能够正确检测编译器和调试器,一般不需要手动配置。当然,也可以手动添加。
配置 Qt Creator
一切准备就绪之后,要调试进入 Qt 源码,只需要做:
- 选择:工具 -> 选项 -> 调试器 -> 概要
- 在“源码路径映射”处,点进“添加 Qt 源码”按钮,选择 Qt 源码安装目录(例如:D:\Qt\Qt5.7.1\5.7\Src)

现在,就可以在你的程序中调试 Qt 源码了,一起去试试吧!
源码调试
新建一个示例工程,在需要调试的位置打上断点:

按下 F11 单步进入源码程序:

恭喜,大功告成!
http://blog.csdn.net/liang19890820/article/details/54346241
查看和调试Qt源码(动态编译的QT也可进入源码)good的更多相关文章
- Hadoop2.x源码-编译剖析
1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节 ...
- 关于HotSpot VM以及Java语言的动态编译 你可能想知道这些
目录 1 HotSpot VM的历史 2 HotSpot VM 概述 2.1 编译器 2.2 解释器 2.3 解释型语言 VS 编译型语言 3 动态编译 3.1 什么是动态编译 3.2 HotSpot ...
- 深入理解Java的动态编译
前提 笔者很久之前就有个想法:参考现有的主流ORM框架的设计,造一个ORM轮子,在基本不改变使用体验的前提下把框架依赖的大量的反射设计去掉,这些反射API构筑的组件使用动态编译加载的实例去替代,从而可 ...
- Java程序动态编译Java源文件
最近接触到公司一个项目,需要将生成的源码动态编译,记录下学习过程. 先贴出官网推荐写法: JavaCompiler.CompilationTask getTask(Writer out, ...
- 查看和调试Qt源码
简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...
- Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版 下载地址:http://qt.nokia.com/downloads ...
- win7 安装用mingw编译的Qt源码并连接postgresql
下载Qt 1.下载qt-creator-windows-opensource-2.8.0,下载路径:http://download.qt.io/official_releases/qtcreator/ ...
- Hadoop源码的编译过程详细解读(各版本)
说在前面的话 重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令. 如果出现缺少了某个文件的情况,则要先清理maven(使用命 ...
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
分类: Android 系统开发(5) 作者同类文章X 版权声明:本文为博主原创文章 ...
随机推荐
- html5.2新特性【长期更新】
先来说几个新定义: 1.p标签里只能是文字内容,不能在里面使用浮动,定位这些特性了.语义化加强,p标签就是文字标签. 2.legend以前只能是纯文本,新版可以加标签了,很爽吧. <fields ...
- 了解PHP中Stream(流)的概念与用法
Stream是PHP开发里最容易被忽视的函数系列(SPL系列,Stream系列,pack函数,封装协议)之一,但其是个很有用也很重要的函数.Stream可以翻译为“流”,在Java里,流是一个很重要的 ...
- git使用注意点
1. 如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字$ git clone git://github.com/schacon/grit.git mygrit 2. ...
- TRUNCATE delete
The operation cannot be rolled back. DROP and TRUNCATE are DDL commands, whereas DELETE is a DML com ...
- Vue.js 系列教程 3:Vue
原文:intro-to-vue-3-vue-cli-lifecycle-hooks 译者:nzbin 这是 JavaScript 框架 Vue.js 五篇教程的第三部分.在这一部分,我们将学习 Vue ...
- django验证码配置与使用
1.安装django-simple-captcha pip install django-simple-captcha 2.配置settings.py ##加app列表INSTALLED_APPS = ...
- Java并发(十):读写锁ReentrantReadWriteLock
先做总结: 1.为什么用读写锁 ReentrantReadWriteLock? 重入锁ReentrantLock是排他锁,在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服 ...
- 清北学堂学习总结 day1 数据结构 练习
1.二叉搜索树 STL set直接做就可以了 2.树状数组+差分数列: codevs 1081 线段树练习 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Maste ...
- js 运算符 || && 妙用
首先出个题:如图: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭头: 成长速度为12显示3个箭头: 成长速度为15显示4个箭头: 其他都显示都显示0个箭 ...
- [转]java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e, ...