简述

在调试程序的时候,有时需要调试进入 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 源码,只需要做:

  1. 选择:工具 -> 选项 -> 调试器 -> 概要
  2. 在“源码路径映射”处,点进“添加 Qt 源码”按钮,选择 Qt 源码安装目录(例如:D:\Qt\Qt5.7.1\5.7\Src)

现在,就可以在你的程序中调试 Qt 源码了,一起去试试吧!

源码调试

新建一个示例工程,在需要调试的位置打上断点:

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

恭喜,大功告成!

更多参考

转自:http://blog.csdn.net/liang19890820/article/details/54346241

查看和调试Qt源码的更多相关文章

  1. 查看和调试Qt源码(动态编译的QT也可进入源码)good

    简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...

  2. vs下 qt源码调试

    1.下载qt源码,我下载的是4.7.1版本 2.vs安装qt插件qt-add-in 3.进入qt根目录,打开configure文件,找到 QT_DEFAULT_BUILD_PARTS="li ...

  3. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  4. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  5. Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

    一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用 ...

  6. 使用VS2012调试ReactOS源码

    目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译nt ...

  7. Apache Spark源码走读之18 -- 使用Intellij idea调试Spark源码

    欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用 ...

  8. eclipse调试jdk源码

    摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...

  9. VS2010下调试.NET源码

    微软走向开源,是时候用vs去单步调试进入源码了.参考地址:http://blog.csdn.net/waxgourd0/article/details/6600182 可供参考的文章:https:// ...

随机推荐

  1. 在谷歌浏览器中安装防广告的插件(abp)

    1.打开谷歌浏览器 2.打开 设置-->见到"扩展程序"--->在搜索框中搜索"adb"-->点击"Adblock plus&quo ...

  2. jar依赖

    https://blog.csdn.net/honghailiang888/article/details/53019635

  3. 第二章 使用接口(Using Interfaces)-书籍翻译

    PDF预览 下载地址 http://files.cnblogs.com/DKSoft/CodingInDelphi.pdf 1.1. 解耦(Decoupling) All through this b ...

  4. package.json中配置浏览器

    "browserlist":[ ">=1%", "last 2 versions" ],

  5. LOCAL_EXPORT_C_INCLUDES和LOCALC_INCLUDES 的差别

    http://stackoverflow.com/questions/6595208/what-does-this-line-mean-local-export-c-includes LOCAL_EX ...

  6. django创建应用

    创建应用--在一个项目中可以创建多个应用,每个应用进行一种业务处理 打开CMD,进入project(目录名)的目录下,输入命令创建名为myApp的app: python manage.py start ...

  7. 设计模式之模板方法模式&&迪米特法则(代码Objective-C展示)

    模板方法模式 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变一个算法的结构即可重定义该算法的某些特定步骤. 比如说,小时候数学老师的随堂检测,都是在黑板 ...

  8. 移动web开发(四)——X-UA-Compatible

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> IE=edge告诉 ...

  9. C++中的new、operator new与placement new

    转:http://www.cnblogs.com/luxiaoxun/archive/2012/08/10/2631812.html new/delete与operator new/operator ...

  10. angularjs去掉加载时的{{}}

    添加css <style>        .ng-cloak {display: none;}    </style> 在body头文件中加上class=ng-cloak &l ...