Qt QtCreator调试Qt源码配置
目录
- 前言
- 1、编译debug版Qt
- 2、QtCreator配置
- 3、调试测试
- 4、总结
前言
本篇主要介绍了在麒麟V10系统下,如何编译debug版qt,并通过配置QtCreator实现调试Qt源码的目的。通过调试源码,我们可以对Qt框架的运行机制进一步深入了解,同时也可以学习Qt开发人员的编码风格。
1、编译debug版Qt
要编译debug版的Qt,在执行 configure 命令时要带上 -debug 参数。在Qt源码目录下执行下面的命令
./configure -prefix /opt/qt5.12.7d -opensource -debug -nomake tests -skip qtvirtualkeyboard -skip qtlocation
执行完configure命令后,若没有报错,则可以执行编译命令:
make -j8
经过漫长的等待后,若没有报错,恭喜你编译通过!接下来执行安装命令,将编译好的qt环境安装到指定位置:
make install
再次经过漫长的等待,安装成功,接下来配置QtCreator 调试Qt源码。
2、QtCreator配置
打开QtCreator,然后依次选择菜单,工具-》选项-》调试器,如下图所示:

点击【添加Qt源码】按钮,然后选择上面编译qtdebug版时用到的源码路径,点击应用。
然后点击Kits菜单,配置debug版qt开发套件。

点击上图中的【添加】按钮,在/opt/qt5.12.7d/bin/ 目录下找到qmake,完成配置。
3、调试测试
配置好qt源码后,在QtCreator最下方的文件搜索框中输入qobject,可以看到文件列表中显示有qobject.cpp文件,说明源码路径配置正确。如下图所示:

新建测试工程,在main.cpp 中 MainWindow的show函数一行前打上断点,编译并运行程序,当程序运行到断点处时,点击进入函数按钮,看是否能进入show函数。如果能进入show函数说明可以正常调试qt源码了。如下图所示由断点处进入show函数:

到此可以开心地去调试Qt源码了。
4、总结
以上就是本文的所有内容了,本文介绍了通过在QtCreator 中配置Qt源码实现了对Qt源码的调试。有任何问题欢迎留言讨论!
相关文章:
Qt QtCreator调试Qt源码配置
目录 前言1、编译debug版Qt2、QtCreator配置3、调试测试4、总结 前言 本篇主要介绍了在麒麟V10系统下,如何编译debug版qt,并通过配置QtCreator实现调试Qt源码的目的。通过调试源码,我们可以对Qt框架的运行机制进一步深入了解,同时…...
JavaScript如何实现钟表效果,时分秒针指向当前时间,并显示当前年月日,及2024春节倒计时,源码奉上
本篇有运用jQuery,记得引入jQuery库,否则不会执行的喔~ <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> <meta name"chenc" content"Runoob"> <met…...
重生奇迹MU套装大全中的极品属性
在重生奇迹MU之中,你不能如其他游戏一般只看攻击与防御,你更要看属性,这才是重生奇迹中的王道!属性好,才是极品,属性不佳,即便攻击、防御再出色,也只能沦落成为一件替用品࿰…...
用Python解决猴子分桃问题
1 问题 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中…...
YOLOv8-Seg改进:分割注意力系列篇 | 新型的多尺度卷积注意力(MSCA)模块
🚀🚀🚀本文改进: 新型的多尺度卷积注意力(MSCA)模块,实现创新,MSCA包含三个部分:深度卷积聚合局部信息,多分支深度条卷积捕获多尺度上下文,以及11卷积建模不同通道之间的关系。 🚀🚀🚀MSCA多尺度特性在小目标分割检测领域表现优异 🚀🚀🚀YOLOv8-seg…...
基于springboot实现致远汽车租赁平台管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现致远汽车租赁平台管理系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统…...
真的设计师做图只需要一个炫云客户端就够了
真的设计师做图只需要一个炫云客户端就够了,为什么这么说呢?因为炫云的这个客户端功能真的太全了,设计师想要的功能在炫云客户端上都有,而且还很多功能是免费的,非常的实用,具体有哪些功能我们一起来看看吧…...
简述 HTTP 请求的过程是什么?
HTTP(Hypertext Transfer Protocol)请求的过程可以简单地描述为客户端与服务器之间的通信交互。下面是一般的 HTTP 请求过程: 解析 URL:客户端解析目标 URL,提取出服务器的主机名(域名)和端口号…...
免root修改手机imei的技术原理是什么?如何实现的?hook吗
在过去,修改手机IMEI(International Mobile Equipment Identity)通常需要Root权限,这给用户带来了一些不便,也存在一定的安全风险。然而,近年来,一些技术爱好者提出了一种免Root修改手机IMEI的方…...
【Redis】整合使用,进行注解式开发及应用场景和击穿、穿透、雪崩的讲解
目录 一、整合 1. 为什么 2. 整合应用 ( 1 ) pom配置 ( 2 ) 所需配置 3. 注解式开发及应用场景 1. Cacheable 2. CachePut 3. CacheEvict 4. 击穿、穿透、雪崩 一、整合 1. 为什么 Redis可以与SSM项目整合,主要是为了提高项目的性能和效率。以下是整合Re…...
数据分析-numpy
numpy numpy numpy简介优点下载ndarray的属性输出数据类型routines 函数ndarray对象的读写操作ndarray的级联和切分级联切分 ndarray的基本运算广播机制(Broadcast)ndarry的聚合操作数组元素的操作numpy 数学函数numpy 查找和排序 写在最后面 简介 nump…...
【Java】云HIS云端数字医院信息平台源码
一、云HIS系统特色 • 使用简易化 即开即用,快速复制,按需开通功能模块,多机构共享机房、软件、服务器、存储设备等资源,资源利用最大化。 • 连锁集团化 可支持连锁集团化管理,1N模式,支撑运营&#x…...
Jupyter Notebook 内核似乎挂掉了,它很快将自动重启
报错原因: OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade perfo…...
Flink -- 事件时间 Watermark
1、事件时间: 指的是数据产生的时间或是说是数据发生的时间。 在Flink中有三种时间分别是: Event Time:事件时间,数据产生的时间,可以反应数据真实发生的时间 Infestion Time:事件接收时间 Processing Tim…...
Django框架简介
文章目录 Django框架介绍MVC与MVT模型MVCMTV 版本问题运行django注意事项 Django的下载与基本命令下载Django方式一:在命令界面使用pip安装方式二:使用pycharm安装 Django的基础命令命令行操作pycharm操作 Django项目命令行操作与Pycharm操作的区别应用D…...
把wpf的窗体保存为png图片
昨晚在stack overflow刷问题时看到有这个问题,今天早上刚好来尝试学习一下 stack overflow的链接如下: c# - How to render a WPF UserControl to a bitmap without creating a window - Stack Overflow 测试步骤如下: 1 新建.net frame…...
2023NOIP A层联测28-大眼鸹猫
给你两个长度为 n n n 的序列 a , b a,b a,b,这两个序列都是单调不降的。 你可以对 a a a 进行不超过 m m m 次操作,每次操作你可以选择一个 i i i 满足 1 ≤ i ≤ n 1\le i\le n 1≤i≤n,然后选择一个整数(可以是负数&…...
电机应用-直流有刷电机
目录 直流有刷电机 工作原理 直流有刷减速电机的重要参数 电路原理与分析 驱动芯片分析 L298N驱动芯片 直流有刷减速电机控制实现 控制速度原理 硬件设计 L298N 野火直流有刷电机驱动板-MOS管搭建板 软件设计1:两个直流有刷减速电机按键控制 开发设计 …...
BIM、建筑机器人、隧道工程施工关键技术
一、BIM简介 (一)BIM概念 BIM(Building Information Modeling),建筑信息模型。该技术通过数字化手段,在计算机中建立虚拟建筑,该虚拟建筑提供从单一到完整、包含逻辑关系的建筑信息库。信息库…...
快速了解什么是跳跃表(skip list)
什么是跳跃表(skip list) 跳跃表(Skip List)是一种概率性的数据结构,它通过在多层链表的基础上添加“快速通道”来提高搜索效率。跳跃表的效率可以与平衡树相媲美,即在平均和最坏的情况下,查找…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
