- 博客(182)
- 资源 (9)
- 收藏
- 关注
原创 C++(Qt)软件调试---断点高级用法(20)
断点是调试程序时常用的工具之一,它允许开发人员暂停程序的执行,以便检查程序的状态。除了基本的断点设置外,还有许多高级用法可以让调试过程更加高效和精确。以下是使用断点的一些高级技巧,包括条件断点、忽略断点、一次性断点、日志断点、异常断点、函数入口断点以及断点的管理和优化等。本文中会详细说明在VS Code、Visual Studio、Qt Creator这三种IDE中断点的高级用法。注意:可能调试工具不同,支持的断点有一些区别。
2024-09-19 15:51:03 723
原创 QXlsx编译静态库-配置为Qt模块
* 在使用QXlsx时由于源码文件比较多,如果直接加载进项目里面,会增加每次编译的时间;* 直接将源码加载进项目工程中,会导致项目文件非常多,结构变得更加臃肿;* 所以在本文中将会将QXlsx编译为静态库再使用;* 配置为Qt模块后在pro文件中可以通过`QT += qxlsx`加载库,不需要LIBS链接;
2024-09-10 20:46:46 751
原创 C++(Qt)-GIS开发-QGraphicsView显示在线瓦片地图
支持加载显示在线瓦片地图(墨卡托投影);瓦片切片规则以左上角为原点(谷歌、高德、ArcGis等),不支持百度瓦片规则;支持显示瓦片网格、编号信息。支持在线程池中快速下载在线瓦片;以北纬85.05,西经-180为坐标原点【绝对像素坐标】。默认支持下载显示多格式高德、Bing、ArcGis瓦片地图。支持x/y/z、x/z/y、z/y/x任意顺序格式、quadKey格式的url。
2024-08-30 22:14:32 1808
原创 C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例2
支持多线程加载显示本地离线瓦片地图(墨卡托投影);瓦片切片规则以左上角为原点(谷歌、高德、ArcGis等),不支持百度瓦片规则;支持显示瓦片网格、编号信息。支持鼠标滚轮缩放切换地图层级。支持鼠标拖拽。采用z/x/y层级瓦片存储格式。在单文件中实现所有主要功能,简单便于理解。以北纬85.05,西经-180为坐标原点【绝对像素坐标】。
2024-08-30 21:23:55 2655 2
原创 Qt5离线安装包无法下载问题解决办法
Qt5离线安装包目前在国内已经被墙了,无法下载,只能下载在线安装包;直接访问会显示`Download from your IP address is not allowed`;本文就提出两种解决办法。
2024-07-14 22:49:57 7363 10
原创 C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例
支持多线程加载显示本地离线瓦片地图(墨卡托投影);瓦片切片规则以左上角为原点(谷歌、高德、ArcGis等),不支持百度瓦片规则;支持显示瓦片网格、编号信息。支持鼠标滚轮缩放切换地图层级。支持鼠标拖拽。
2024-07-06 20:21:20 1793 1
原创 C++(Qt)-GIS开发-简易瓦片地图下载器
1. 支持单线程、多线程下载瓦片地图。2. 使用QNetworkAccessManager、QNetworkReply实现http、https下载功能;3. 支持下载多样式arcGis瓦片地图;4. 支持下载多样式高德瓦片地图;5. 支持多样式Bing地图下载;
2024-07-06 10:47:32 1438 1
原创 Qt-qrencode生成二维码
将qrencode使用Qt封装为一个生成、显示二维码的控件;支持使用QPainter绘制显示二维码;可通过函数接口返回生成的二维码QImage;可通过调用函数将生成的二维码保存到指定路径;支持使用源码嵌入工程(更好的跨平台、支持各种编译器);支持使用编译好的静态库(MSVC2017-64);
2024-05-30 20:21:26 1773
原创 Qt-FFmpeg开发-打开摄像头直接显示YUYV422图像(12)
在这个示例程序中主要使用Qt + FFmpeg开发一个相机,使用FFmpeg打开摄像头,并且【不需要解码】,直接显示获取到的【YUYV422】格式的AVPacket图像;
2024-05-13 23:45:51 1247 2
原创 软件开发技巧---TODO特殊事项标注
🧘🏻软件开发中的TODO是一种用于标记待办事项或未完成任务的注释方法,它有助于提高代码质量和开发效率。
2024-04-29 00:38:22 1984 1
原创 LLVM学习---clang-format代码格式化
🫵别看了,如果你还在饱受🐷队友💩山代码的折磨,那就不要错过Clang-Format。clang-format是一个非常实用的工具,它不仅可以帮助个人开发者提高编码效率,还能在团队协作中确保代码风格的统一,从而减少代码审查时的格式问题,专注于代码逻辑本身。
2024-04-28 00:28:20 2243 1
原创 新版本Qt Creator安装配置
Qt Creator集成了很多工具、插件,在开发过程中都非常好用,但是由于离线安装包的Qt库和QtCreator是绑定在一起的,很多时候安装Qt时都使用安装包中自带的QtCreator。而Qt离线安装包自带的QtCreator版本都比较低,对很多工具、插件的支持都不是很好,例如Qt5.14.2安装包中的QtCreator是4.11.1版本,而最新版本已经到10、11。
2024-04-27 21:05:45 3145 3
原创 C++(Qt)软件调试---crashpad捕获崩溃(19)
Crashpad 是一个由 Google 开发的开源库,是 Google Breakpad 库的继任者。用于在应用程序崩溃时捕获和处理崩溃信息。
2024-04-25 00:40:57 2630 11
原创 C++参考手册使用说明
C++参考手册是学习、使用和理解C++编程语言的重要工具,对于开发人员来说是必备的资源之一。可直接打开使用、配置到Qt中的C++离线参考手册。
2024-04-21 13:17:32 2464 2
原创 C++智能指针基础用法详解
智能指针是C++中用于管理动态分配资源的强大工具,通过正确使用智能指针,可以显著减少内存泄漏的可能性,并提高代码的安全性和可维护性。
2024-04-21 00:21:54 1229 1
原创 QEventLoop野指针异常
当使用QMainWindow时,在子控件的showEvent、resizeEvent事件函数中使用事件循环,则在程序启动时会出现崩溃。
2024-03-24 20:26:47 489
原创 C++(Qt)软件调试---静态分析工具clang-tidy(18)
现在很多人在开发中完全忽略了编译器、IDE的警告提示,这怎么可能写出稳定的程序。clang-tidy是一个由LLVM项目提供的开源工具,是一个静态分析工具,用于进行静态代码分析和代码质量改进。
2024-01-22 20:26:08 2793 1
原创 C++(Qt)软件调试---下载和安装最新版Windbg(16)
新版本的WinDbg有三种安装方式,分别是两种在线安装和一种下载安装包离线安装。(推荐使用离线安装)
2023-11-07 23:31:32 1198
原创 C++(Qt)软件调试---线程死锁调试(15)
死锁是一种情况,其中两个或多个线程(或进程)相互等待对方释放资源,导致它们都无法继续执行。这是一种非常令人头疼的问题,因为它可以导致程序挂起,无法继续运行。本文中会详细讲述linux、Windows下调试C++线程死锁、Qt线程死锁的方式。
2023-10-25 15:59:57 1835
原创 C++(Qt)软件调试---linux使用dmesg定位程序崩溃位置(14)
在我们日常开发中,经常会遇见程序崩溃退出的情况,一般在linux下我们可以通过生成core文件来进行调试,定位出现异常位置,但是如果我们忘记了生成core文件或者程序在用户机器上运行没有生成core,就无法通过调试core文件定位异常,这时就可以使用dmesg中的信息帮助调试。
2023-10-19 16:32:09 1506
原创 C++(Qt)软件调试---GCC编译参数学习-程序检测(13)
在前面学习了C++常用编译器(MSVC、GCC、MinGW)的一些常用的编译器参数,主要是用于【预处理】、【编译】、【优化】、【调试】等方面的选项/参数,有助于我们优化程序性能或者调试软件bug;而我们常说的编译器其实并不是一个软件,而是一套强大的编译器工具集。在本章内会学习GCC编译器的【警告选项】、【程序检测选项】,从静态、动态两方面检测、调试我们的程序,提高软件质量,减少bug数量。
2023-09-14 21:39:11 1784 2
原创 C++(Qt)软件调试---gdb调试入门用法(12)
学习GDB可以帮助程序员更好地调试程序,找到程序中的错误和问题,提高程序的质量和稳定性。在开发大型软件时,程序中可能存在许多错误和问题,这些问题可能会导致程序崩溃或者出现不可预期的行为。使用GDB可以帮助程序员更快地找到这些问题,并且提供一些调试工具来帮助程序员更好地理解程序的行为。
2023-08-16 21:12:08 3215
原创 spdlog入门教程(1)
日志库是一种用于记录和管理应用程序运行时信息的工具。它的主要作用是收集、存储和展示应用程序的日志信息,以便开发人员进行故障排查、性能优化和行为分析。
2023-07-09 16:19:59 4571 4
原创 如何提升软件质量及开发效率
保证软件质量,是一个贯穿整个软件生存周期的重要问题,而不仅仅只是测试,软件测试只是能发现问题,就像温度计只能判断你是否感冒,从源头降低问题出现的概率才是重点。
2023-07-03 23:33:47 6840
原创 C++(GCC)生成和使用静态库
静态库是一种可重用的代码模块集合,具有提高编译速度、代码可移植性、简化部署、减少运行时开销以及提高可靠性等优点。
2023-04-24 12:10:29 2365 3
原创 C++(Qt)软件调试---使用drmingw进行调试(10)
- drmingw是一个使用非常简单的调试工具,没有GDB、Windbg这些工具的复杂命令;- 可以支持调试MinGW、MSVC编译的程序;- 在重新退出时可以非常快速的显示调试结果,定位异常位置;- 但是使用简单就意味着对于一些复杂的bug调试可能就不那么好用了,但是还是值得一用。- drmingw还有一些其它用法,可以看github仓库里面的说明。
2023-04-10 11:11:35 1413 1
原创 C++(Qt)软件调试---qmake编译优化和生成调试信息(9)
通过查看Qt编译生成的Makefile文件可以学习到Qt内部对不同编译模式做了哪些工作;Qt默认的三种编译模式基本可以适用于大部分开发调试的场景;当我们遇见特殊的问题时就需要手动修改编译器选项,在程序编译时选择合适的优化参数和生成调试信息参数,在运行性能、程序大小、调试方便三个方向进行权衡利弊。例如在不需要考虑性能时可以完全关闭优化,生成尽可能多的调试信息,以方便调试;而有些程序运行需要一定的性能,就可以选择开启一定较低级别的优化。
2023-04-09 15:32:03 3727
原创 C++(Qt)软件调试---验证GCC编译优化和生成调试信息(8)
我们可以通过学习GCC编译器参数,在程序编译时选择合适的优化参数和生成调试信息参数,在运行性能、程序大小、调试方便三个方向进行权衡利弊。例如在不需要考虑性能时可以完全关闭优化,生成尽可能多的调试信息,以方便调试;而有些程序运行需要一定的性能,就可以选择开启一定较低级别的优化。文章中所述内容多有不足,欢迎一起交流学习。
2023-04-08 14:59:12 1802 1
原创 C++(GCC)生成和使用动态库
使用动态库的好处有以下几点:1. 节省内存空间:动态库在程序运行时才会被加载,不会像静态库那样在编译时就被全部链接进可执行文件中,因此可以节省内存空间。2. 便于更新:当动态库更新时,只需要替换动态库文件即可,不需要重新编译整个程序。3. 提高程序运行效率:由于动态库可以被多个程序共享,因此可以减少内存中的重复代码,提高程序运行效率。4. 方便程序的开发和维护:动态库可以被多个程序共享,因此可以减少代码冗余,提高代码复用率,方便程序的开发和维护。5. 支持动态加载。
2023-04-06 20:44:17 3965
原创 C++(Qt)软件调试---学会使用AeDebug(7)
AeDebug是Windows操作系统自带的一个调试工具,用于帮助开发人员进行应用程序的调试和错误定位。当应用程序发生异常或崩溃时,AeDebug可以**自动启动调试器**,并为开发人员提供相关的错误信息和调试信息,以帮助开发人员快速定位和解决问题。如果您是Windows应用程序的开发人员,建议您掌握AeDebug工具的使用方法,以便更好地进行应用程序的调试和错误定位。
2023-04-04 22:40:22 967
原创 C++(Qt)软件调试---使用任务管理器导出Dump(6)
前面介绍了多种自动生成Dump文件的方法例如使用dbghelp.dll、qbreakpad、procdump等,都非常好用但是:1. 都需要配置环境或者修改代码;2. 在程序异常崩溃时或者满足一定条件时才能生成Dump;本文将介绍使用3款【任务管理器】来导出运行中程序的Dump文件,方法无优劣,只有适合不适合。
2023-04-04 22:33:28 658
原创 C++(Qt)软件调试---学会使用ProcDump(5)
ProcDump是一个由Microsoft Sysinternals开发的命令行小工具,用于在Linux、Windows系统上监视和生成进程转储文件。它可以监视进程在CPU使用率、内存占用、I/O操作等方面的性能,并在进程崩溃时自动生成转储文件,以便进行后续调试和分析。
2023-04-02 23:51:54 2012 1
原创 C++(Qt)软件调试---编译器及编译参数学习(4)
在学习C++软件调试之前,了解编译器参数是非常重要的。因为编译器参数决定了程序编译的行为,包括编译器如何处理源代码、如何生成目标代码、如何链接库文件等等。学习编译器参数可以帮助我们更好地理解和掌握C++程序的编译过程,更好地解决编译和调试过程中的问题,提高程序的性能和可维护性。
2023-04-01 22:53:53 2796
原创 C++(Qt)软件调试---linux下生成/调试Core文件(3)
Core文件是在程序崩溃或异常终止时由操作系统生成的一个二进制文件,它包含了进程在崩溃前的内存映像。Core文件的作用是帮助程序员分析程序崩溃的原因,进行程序调试。在本文中详细讲述了linux下C++/Qt如何生成Core文件和使用GDB调试Core文件,快速定位异常位置和异常原因。
2023-04-01 00:29:52 2715 2
原创 Qt-Web混合开发-CEF加载网页简单示例(12)
QT使用QCefView+CEF实现加载网页功能,相较于QWebEngineView更加稳定,强大;演示了如何加载本地html文件和在线网页;自动将依赖文件(html、CEF动态库)安装到可执行程序路径下;详细注释了使用到的 Chrome命令;
2023-03-29 23:47:42 2438 2
原创 QCefView编译配置(Windows-MSVC)(11)
QCefView是为Qt框架开发的一个封装集成了[Chromium Embedded Framework](https://bitbucket.org/chromiumembedded)库的Wdiget UI组件。使用QCefView可以充分发挥CEF丰富强大的Web能力,快速开发混合架构的应用程序。
2023-03-26 23:27:22 1674 2
C++(Qt)软件调试-断点高级用法(20)
2024-09-19
Qt-qrencode生成、显示二维码控件
2024-05-30
C++(Qt)软件调试-线程死锁调试(15)
2023-10-25
C++(Qt)软件调试-GCC编译参数学习-程序检测(13)
2023-09-14
C++(Qt)软件调试-使用drmingw进行调试(10)20230410.pdf
2023-04-10
C++(Qt)软件调试-Qt编译优化和生成调试信息(9)20230409.pdf
2023-04-09
C++(Qt)软件调试-验证GCC编译优化和生成调试信息(8)20230408.pdf
2023-04-08
C++(Qt)软件调试-编译器及编译参数学习(4)V1.0.0.pdf
2023-04-05
Windows下增强版任务管理器
2023-04-04
Windows下用于生成Dump文件的工具
2023-04-04
C++(Qt)软件崩溃调试-学会使用ProcDump.7z
2023-04-03
C++(Qt)软件崩溃调试-学会使用ProcDump(5)20230403.pdf
2023-04-03
C++(Qt)软件崩溃调试-学会使用ProcDump (5)20230402.pdf
2023-04-02
C++(Qt)软件崩溃调试-编译器及编译参数学习(4).pdf
2023-04-01
C++(Qt)软件崩溃调试-编译器及编译参数学习(4)
2023-04-01
linux下C++和Qt生成和调试Core文件(3)
2023-04-01
MSVC2017-64编译的QCefView库文件,可下载直接使用
2023-03-26
Qt-文件路径使用方式和注意事项
2023-02-23
qBreakpad 崩溃报告工具
2022-08-30
QSS样式表入门练习Demo.pdf
2022-07-08
Windows10系统中使用mingw73_64编译的OpenCV开发包,Qt版本V5.12.12,下载解压就可以使用。
2022-05-14
Qt使用mingw73_64编译器编译的MySql驱动动态库
2022-05-06
C#-TeeChart-图表绘制库
2022-04-17
TeeChart使用手册PDF版本
2022-04-17
OSG-VS2017-msvc64.7z
2021-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人