博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何检测内存泄漏问题(转)
阅读量:6001 次
发布时间:2019-06-20

本文共 595 字,大约阅读时间需要 1 分钟。

用C写程序,为了省事儿引用了别人一些代码,一调试程序发现:内存泄露了。程序代码量有点大,而且指针基本上都是用链表管理起来的,VC的调试器并不能给检查具体哪一行泄露。我想用C写程序的人这种情况一定跟我一样遇到过好多次,其中大多数人可能也跟我一样。依次注释和检查代码来排除这个问题~~
      最近,我又遇到了这个问题,本想到群中请教下别人有没好点儿的内存检查工具来辅助我排错,结果有幸让我得到了如下的方法:
引用原文
先查看系统的内存泄漏报告,如下:
Detected memory leaks!
Dumping objects ->
{1057} normal block at 0x01873BD0, 8 bytes long.
 Data: < <      > 1C 3C 87 01 F8 CD CD CD
strcore.cpp(118) : {1056} normal block at 0x01873C10, 45 bytes long.
 Data: <            31  > 01 00 00 00 02 00 00 00 20 00 00 00 33 31 00 CD
.....
然后在程序主程序的初始化中加入下列语句:
_CrtSetBreakAlloc(1057);
在中断时进行查找即可。
        这样再次启动程序时,申请 {1057} 这个内存时就会出发断点,然后栈回朔就可以定位到那个指针没释放了~~

转载地址:http://ajbmx.baihongyu.com/

你可能感兴趣的文章
Chair:支付宝前端团队推出的Node.js Web框架
查看>>
port-forward v1.0.1 发布,端口转发工具
查看>>
《Total Commander:万能文件管理器》——第3.8节.后续更新
查看>>
BSD vi/vim 命令大全(下)[转]
查看>>
css3中变形与动画(一)
查看>>
[XMove-自主设计的体感解决方案] 系统综述
查看>>
设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
查看>>
【LINUX学习】磁盘分割之建立primary和logical 分区
查看>>
【YUM】第三方yum源rpmforge
查看>>
IOS(CGGeometry)几何类方法总结
查看>>
一个通用并发对象池的实现
查看>>
才知道系列之GroupOn
查看>>
⑲云上场景:超级减肥王,基于OSS的高效存储实践
查看>>
linux kswapd浅析
查看>>
变更 Linux、Ubuntu 时区、时间
查看>>
高仿QQ空间 侧滑Menu效果且换肤功能《IT蓝豹》
查看>>
mac的git的21个客户端
查看>>
Django之form表单实例
查看>>
python 笔记 之带参数的装饰器
查看>>
Spring Cloud自定义引导属性源
查看>>