如何检测Memory Leak
[VIA youyang] Memory Leak,这个东东可是一个非常讨厌的,通俗的讲,就是一个应用程序不断的申请内存空间,而它从来不会去释放,或者说,一个应用程序申请完内存之后它不会告诉操作系统"我用完了,你可以分配给其他人用了",而随着时间的增长,系统的可用内存量会越来越低,最后导致应用程序的崩溃,或者操作系统非常缓慢的性能,甚至崩溃。 比如,一个用户,他的使用习惯中从来就没有关机的概念,那么他的PC就一直处于运行状态,可能一周之后,他会发现自己的PC运算速度非常缓慢,自己的硬盘经常狂转,这可能往往就代表会有某个应用程序或者是Windows的某个东东存在Memory Leak。(所以说,没事多关机,不仅省电,而且还可解决Memory Leak),但对于Server来讲,他们几乎不存在关机的可能,所以如果有一个应用程序存在Memory Leak,那么Server就会产生一段时间一死机的现象,所以Memory Leak对Server来讲可可以说是致命的,对微软来说,如果发现一个应用程序存在Memory Leak,那么这是属于比较大的Issue,而如果是在Server Platform上面,甚至会影响产品的Release。所以,很多时候,微软的产品没有如期的发布,往往是因为产品在最后一系列的测试环节中没有通过,我觉得广大的用户应该多多理解微软的产品延期。 通常来说 C++应用程序中的Memory Leak现象常见,因为这种语言没有垃圾收集机制,那么.NET 应用程序呢?如果你相信了宣传的不会存在Memory Leak,那么你就不是一个好的Tester,因为Tester的一个大忌就是trust,而Dev(软件开发者)们说的话,那更是从来不要相信的,,还好漂亮的XXX姐姐不懂中文… [...]
