赞
踩
这段时间,遇到了内存泄漏的问题。软件运行过程中内存越来越高,最终致使系统卡顿。
作为一只菜鸟,折腾一天无果。请教了代老师,在解决问题的过程中受益良多,现分享一种系统自带的内存分析方法。
该方法好像跟是哪种编程语言关系不大,但我只会C#,就拿C#举例。
1、先跑软件(别用Debug模式,直接运行.exe文件),让其内存不断增大,最好增大到几倍,项目软件不复杂,大概增加到了200MB,然后进行分析
2、打开任务管理器(这个都会吧),右击我们自己编译的软件,点击“创建转储文件©”
等待一个进度条之后,转储进程会提示“已成功创建文件”,并给出目录地址。
3、按照提示的地址找到文件。(AppData文件夹是个隐藏文件,记得打开隐藏文件)
或者直接用Win+R打开运行窗口,输入%temp%,快速打开目录。
然后将转储文件剪切出来。
4、然后使用Visual Studio打开转储文件,点击“调试托管内存”按钮。
5、经过等待,就会出现程序中各个类的内存情况,然后进行分析。
怎么分析就不用说了吧,就看哪里跟自己的设计不符。1、占内存大的类优先考虑,2、对象数量过多的优先考虑。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。