查看和调试Qt源码
简述
在调试程序的时候,有时需要调试进入 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源码(动态编译的QT也可进入源码)good
简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...
- vs下 qt源码调试
1.下载qt源码,我下载的是4.7.1版本 2.vs安装qt插件qt-add-in 3.进入qt根目录,打开configure文件,找到 QT_DEFAULT_BUILD_PARTS="li ...
- 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码
前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...
- Android动态方式破解apk进阶篇(IDA调试so源码)
一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...
- Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk 主要采用的是静态方式,步骤也很简单,首先使用 ...
- 使用VS2012调试ReactOS源码
目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译nt ...
- Apache Spark源码走读之18 -- 使用Intellij idea调试Spark源码
欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用 ...
- eclipse调试jdk源码
摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...
- VS2010下调试.NET源码
微软走向开源,是时候用vs去单步调试进入源码了.参考地址:http://blog.csdn.net/waxgourd0/article/details/6600182 可供参考的文章:https:// ...
随机推荐
- jsp 嵌入页面
<section id="main-content"> <section class="wrapper"> <jsp:includ ...
- js获取IP地址多种方法实例教程
js获取IP地址方法总结 js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338. ...
- [svc]java初步
J2EE.J2SE 和 J2ME 三者的区别有哪些? J2SE, 主要是桌面软件开发,包括swing 等.是后面2个的基础,但是我们不用它做桌面开发.只学习语法. J2EE,网站开发,servlet. ...
- [Windows Azure] Windows Azure Identity
Windows Azure Identity Managing identity is just as important in the public cloud is it is on premis ...
- [Windows Azure] Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5.
Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5. This ...
- (转)Maven学习-处理资源文件
转自:http://www.cnblogs.com/now-fighting/p/4888343.html 在前面两篇文章中,我们学习了Maven的基本使用方式和Maven项目的标准目录结构.接下来, ...
- layui的table中使用switch
{{# if(false){ }} <input type="checkbox" name="switch" lay-skin="switch& ...
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
原文出处:https://blog.csdn.net/yort2016/article/details/68065728 冒泡排序 主要是拿一个数与列表中所有的数进行比对,若比此数大(或者小),就交换 ...
- IPC相关的命令
进程间通信概述 进程间通信有如下的目的: 1.数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间: 2.共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进 ...
- JIRA python篇之展示多人未完成任务列表
[本文出自天外归云的博客园] 通过python中的jira类我们可以方便的操作jira,获取一些我们想要再加工的信息. 这里举例,用html页面的形式展示分派给组内每个人的任务(未完成的.正在进行中的 ...