由map.insert使用不当引起的内存泄漏
发布日期:2021-06-30 22:17:13
浏览次数:2
分类:技术文章
本文共 6158 字,大约阅读时间需要 20 分钟。
前言
有个写好的cm有内存泄漏,跑了一天,给客户的计算机内存(好像还蛮大的内存)用的差不多了。
当停掉这个cm时,内存一下就正常了(不知道是不是OS给回收了)。 就在找这个内存泄漏问题,bug还没找完。 先发现了一个由map.insert使用不当引起的内存泄漏。 按照c++ reference的说法,同一个key,不同的value, 插入map时。map会更新这个value. 我做的实验,不会更新value. 正确的做法。插入key-value之前,需要find一下key. 如果key不在,选择插入。 如果key存在,可以按照业务逻辑,不插入或更新value. 如果没有将value插入map, 就需要删掉要插入的value(假设value是指针)。 写C程序时,还是要细致点。有些不常用的知识点,如果不太确定,可以先做个实验,再写正式代码。 写好后,运行一些可以想到的测试用例,保证加入的功能模块是正确的(逻辑正确,无内存泄漏,最好性能也好点)。 这样做以后,回头来改bug的概率就小了。等代码堆多了,再回头来修bug, 找bug也要一些时间的。实验
// @file main.cpp// view date time// date "+DATE: %m/%d/%y%nTIME: %H:%M:%S"// set date time// date -s "2018-3-13 14:25:00"#include#include #include #include #include
转载地址:https://lostspeed.blog.csdn.net/article/details/79600340 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月27日 01时55分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
WiFi强力信号连接方案
2019-05-01
连锁门店无线通信方案
2019-05-01
ATM终端无线方案
2019-05-01
配置Lotus Domino集群视频详解
2019-05-01
Cisco PIX防火墙PPPoE拨号配置视频教学
2019-05-01
通过PXE安装Linux实况
2019-05-01
Linux / Windows应用方案不完全对照表
2019-05-01
Cisco交换机SPAN&RSPAN调试实录
2019-05-01
轻松掌握Ubuntu Linux的3D桌面快捷键使用
2019-05-01
通过视频展示如何通过Samba配置PDC
2019-05-01
OSSIM(开源安全信息管理系统)在企业网络管理中的应用
2019-05-01
网站及监控利器 Pandora FMS使用体验
2019-05-01
解决Esxi5下安装Windows 8的问题
2019-05-01
如何搭建Eclipse +Apache Tomcat配置Java开发环境
2019-05-01
开源计算机集群监控Ganglia应用视频
2019-05-01
Linux软件万花筒
2019-05-01
vSphere5安装配置视频教程
2019-05-01
《Linux企业应用案例精解》一书已由清华大学出版社出版
2019-05-01
安装配置FreeBSD9全过程体验
2019-05-01
全球开源软件发展趋势分析
2019-05-01