首页 > 系统相关 >记项目中的一次内存泄漏问题

记项目中的一次内存泄漏问题

时间:2023-08-29 11:39:16浏览次数:43  
标签:泄漏 错误 项目 申请 内存 使用 空间


最近在使用QT开发一个大型项目,内存占用可能有点多,其中在vector.push_back()的时候报了一个segment fault错误,感到很奇怪。

因为平时遇到段错误,大多数情况下都是数组越界(使用[]访问元素),而vector的push_back()函数,在添加元素时,如果空间不足,会先向内存申请原来空间的两倍大小的新的空间,然后把原来空间的元素拷贝到新空间。

所以这个时候问题就定位到了申请新空间这个步骤上,如果系统没有更多的内存可供申请了呢?那么就会报段错误。而我们知道堆内存有2-3G,一般都不会占满堆内存。什么时候会占满堆内存呢?有一种内存错误会导致这种情况发生,那就是内存泄漏!!!内存泄漏一般发生在使用new申请了内存空间,但是没有使用delete释放,因此会导致内存泄漏,不断膨胀

所以要谨记《Effective C++》中提到的,new和delete要配对使用,如果允许的话,尽量多使用智能指针


标签:泄漏,错误,项目,申请,内存,使用,空间
From: https://blog.51cto.com/u_6526235/7273788

相关文章

  • Web服务器项目中常问的开放性问题
    文章目录一、对后端开发的看法?二、为什么要做静态http服务器?三、为什么要使用ET模式?四、多线程编程的注意事项1、为什么要用多线程2、多线程编程的特点3、确保线程安全的几种方式4、与多线程有关的编程方法五、使用Linux系统有什么好处?六、对云计算的看法?七、服务器突然崩溃退出,怎......
  • Trados Studio | 项目记忆库 vs 主记忆库
    title:"TradosStudio|项目记忆库vs主记忆库"date:"2023-07-09T17:20:24+08:00"tags:[""]draft:false一些使用TradosStudio的译员会为自己翻译的每个语言对都设置一个记忆库(TM),将其用于相关语言对的所有项目。另一些人会为不同的项目使用不同的TM,例如,为不同的客......
  • 【maven】idea运行项目的时候,因为依赖maven坐标是provided报错NoClassDefFoundError解
    1、查看报错的类的生命周期-基于在idea安装mavenhelper插件  2、在运行maven项目的入口新增配置项 ......
  • 聊聊spring项目中如何动态刷新bean
    前言前阵子和朋友聊天,他手头上有个spring单体项目,每次数据库配置变更,他都要重启项目,让配置生效。他就想说有没有什么办法,不重启项目,又可以让配置生效。当时我就跟他说,可以用配置中心,他的意思是因为是维护类项目,不想再额外引入一个配置中心,增加运维成本。后边跟他讨论了一个方案,可......
  • 大华智慧园区综合管理平台 user_getUserInfoByUserName.action 账号密码泄漏漏洞
    漏洞简介大华智慧园区综合管理平台user_getUserInfoByUserName.action中存在API接口,导致管理园账号密码泄漏漏洞复现fofa语句:"/WPMS/asset/lib/gridster/"或app="dahua-智慧园区综合管理平台"鹰图语句:web.body="/WPMS/asset/lib/gridster/"POC:/admin/user_getUserInfoBy......
  • 银河麒麟SP2 auditd服务内存泄露问题
    这几天遇到基于海光服务器的银河麒麟V10SP2版本操作系统出现内存无故增长问题。排查发现auditd服务,占用了大量内存。我的环境是银河麒麟V10SP2524,audit版本audit-3.0-5.se.06==5037==HEAPSUMMARY:==5037==inuseatexit:3,022bytesin210blocks==5037==to......
  • 项目管理
    一、bug漏测标准 二、不属于漏测标准 三、测试排期估时 四、项目管理方法论——PDCAp:做计划。D:做事情。C:检查。A:处置——指新作业程序的实施及标准化,以防止原来的问题再次发生 五、精力管理 六、复盘方法论 七、QA管理胜任的能力 八、目标管理 ......
  • windows-gitee配值和项目提交
    git下载:https://git-scm.com/download/win(此处下载非常慢,用迅雷或者挂梯子)配制本地:gitconfig--globaluser.name"xxxx"gitconfig--globaluser.email"[email protected]"生成ssh密钥与gitee连接:文档:https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%......
  • BBS项目
    一、开发流程和数据库表结构设计1、项目开发流程-立项-需求分析-原型图-切图-技术选型,数据库架构设计-前后端协同开发-上线测试服务器联调-测试-修改bug-上线运行2、基本需求:1注册功能-使用forms组件-使用Ajax提交数据信息-支持上传头像2登录功能-使......
  • 敏捷方法进行项目管理的几个关键步骤
    敏捷项目管理是一种基于敏捷开发方法的项目管理方式,它强调快速响应变化、持续交付价值和高效的团队合作。1、确定敏捷宣言的价值观和原则,例如“以人为本”、“可用的软件”、“以客户为中心”、“拥抱变化”等,并在项目中始终遵循这些价值观和原则。敏捷开发宣言:敏捷开发十二原则:2、......