Windows CE 上的内存泄露检测

5 篇文章 0 订阅

 

Windows CE 内存泄露检测

 

同许多平台一样,内存泄露是始终是一个让程序员头疼的问题。

下面以一段简单的代码来介绍下如何快速检测到内存泄露。

  

生成pdb文件,Debug模式下是默认生成的,Release需要手动设置。

 

 

 

 

 

 

 

下面是Codesnitch的简要使用方法,同样以上面的代码为例子。

1.       登陆http://entrek.com/evalform.asp 注册试用账号,随便填就行了,但是邮箱不能随便写。

2.       不久后邮箱就会收到一封e-mail,有注册码,即试用版下载地址。  使用版能使用15天,且只能追踪到前50个事件。

或者 http://www.entrek.com/products/codesnitch_std.msi

         http://www.entrek.com/products/codesnitch_std.msi

3.       下载安装完成后运行程序,PC同步连接上WinCE/Windows Mobile设备,点击File/Run从设备上选择程序运行。

4.       等程序运行完后,首先看到的是Event窗口,记录了每一次内存操作事件。选择事件,还可以对应到响应源代码的哪一行。例如本例子的11: char *p1 = new char[256];,配了256字节。

5. Summany 窗口记录了一些统计信息。例如一共有多少次new,多少次delete。内存最大使用等等,一目了然。

6.       退出程序后,Results窗口会显示本次程序运行结果的内存泄露信息。

我们可以清楚的看到显示“Memory leak”,可以清楚的看到是第13行,分配了512的内存空间后,并没有释放,造成了内存泄露。

 

有了Codesnitch后,使得我们很快能够准确的找出内存泄露发生的位置,迅速排除问题,提高了开发效率和程序的健壮性。

像上述代码内存泄漏比较少,而且不会运行时间很长的话,因为在程序退出的时候,OS会回收app所占用的内存,但是如果一个app长期运行,且不断有内存泄露的话,在WinCE这类系统资源很有限的情况下,很容易导致程序崩溃,或者更严重的问题。养成良好的编程习惯才是关键。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值