内存泄漏查找方案

内存泄漏查找方案

ID:42533754

大小:299.00 KB

页数:5页

时间:2019-09-17

内存泄漏查找方案_第1页
内存泄漏查找方案_第2页
内存泄漏查找方案_第3页
内存泄漏查找方案_第4页
内存泄漏查找方案_第5页
资源描述:

《内存泄漏查找方案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MPC内存泄漏查找方案1•基本工具及方法使用工具VS2003,LeakDiag,Windows自带Perform检测器基本查找方法在开发代码期间,当程序退出时,vs的输出对话框中有内存泄漏的输出显示。不要放过这样的机会,一定保证程序调试的时候正常退出时,VS输出对话框屮无内存泄漏显示。专门查找内存泄漏,使用LeakDiagI具,记录程序逻辑中认为分配内存前,分配内存后,释放内存后的对应点。分析获得的logFl志,查找内存泄漏。备注:在查找内存泄漏前,需要确定所查Application是否内存泄漏,或者内存泄漏严重性。需要借助Windows自带的性能计数器。可以再本机或者测试机器上建立一个对应于

2、Application的性能计数器。主要检测性能计数器的PrivateBytes字段。在程序运行一段时间,会出现对应的big文件,一般存放在C:PerfLogs中。Perforaance通过查看口己程序的PrivateBytes来查找Application是否内存泄漏或者是VisualMemory碎片。2■调度内存泄漏查找方案2.1工作流程MQ任务接收9任务分析T内存数据添加和更新弓界面更新Tend任务分配一子任务构造一内存数据更新T界面更新T分配到服务MQTendMQ服务接收T服务注册9内存数据更新弓界面更新TendMQ服务接收T服务卸载T内存数据更新T界面更新TendMQ服务接收9子任务

3、冋馈消息(成功、失败、进度)9内存数据更新T界面更新TendMQ服务接收9服务心跳T内存数据更新T界面更新Tend任务完成一成功任务入历史记录9内存数据删除T界面条目删除Tend任务删除T内存数据删除T界面条目删除Tend历史记录查询T内存数据创建T界面条目增加Tend历史记录删除T内存数据删除刁界面条目删除Tend历史记录列表清空T内存数据删除T界而条目删除Tend2.2内存泄漏测试caseCaseNameModulesHowtoTest服务注册服务注册,内存数据,服务注册,但不发送心跳信息界而更新首先使用NULLWORK服务来模拟,同时也需要修改调度,不让调度中的服务无心跳后卸载。服务心跳

4、服务心跳处理模块服务不断发送心跳(增大心跳发送频率)首先使用NULLWORK服务来模拟,需要增大心跳发送的频率。服务卸载服务卸载,内存数据,界面更新服务正常发送卸载消息服务不发送心跳,导致调度服务异常卸载首先使用NULLWORK服务来模拟任务接收测试任务接收,策略读取,任务分析,,任务删除MQ工具任务接收任务,然后使用taksconsle的删除功能删除所有任务任务分配子任务xml构造,任务发送,内存数据,界面更新服务只接受任务,返回添加成功或失败等信息首先使用NULLWORK服务来模拟;再用真正的转码,剪切,合成等流程来测试进度进度消息处理,内存数据,界面更新服务接收任务成功后,不断返回进度信

5、息。首先使用NULLWORK服务来模拟,增大进度返冋的频率;再用真正的转码,剪切,合成等流程来测试任务成功,且成功功任务不入历史库消息接收,任务状态更新,内存数据,界面更新服务接收任务成功后,只返回任务成功的消息。配置调度整个任务成功后,不入历史库。首先使用NULLWORK服务来模拟,收到任务后,立即返冋任务成功。任务成功,且成功任务写入历史库消息接收,任务状态更新,内存数据,界面更新,历史记录模块服务接收任务成功后,只返回任务成功的消息。配置调度整个任务成功后,入历史库。首先使用NULLWORK服务来模拟,收到任务后,立即返回任务成功。任务失败消息接收,任务状态更新,内存数据,界面更新服务接

6、收任务执行失败消息。首先使用NULLWORK服务来模拟,服务接收任务成功后,不返回进度,直接返冋任务执行失败的消息。注意:使用LeakDiag记录以下几个点,操作之前初始状态的点,每个类型操作批量操作之后的点,清理环境为初始状态的点。然后对相关数据做分析。3•转码内存泄漏查找方案3.1工作流程3.1.1拆包1MXF(ExcludeDBE)TAvi+Wav//1MXF(IneludeDBE)TAvi+Wav+DBE3.1.2转码Mxf->Avi(1.0)+mp3//MxfTAvi(2.0)+mp3Avi+wav->Avi(1.0)+mp3//Avi+wav->Avi(2.0)+mp3//Avi+

7、wavTWMV3.1.2封包Avi+Wav^MXF(ExcludeDBE)//Avi+Wav+DBE1TMXF(IncludeDBE)内存泄漏测试caseCaseNameModulesHowtoTest任务接受解析TaskConsole调度任务,并更新UI正常任务与错误任务交叉使用。任务状态反馈将转码服务本身运行状态返回给TaskConsole.(不要忽略心跳检测)使用不同的NotifyEvent

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。