事故原因是内存泄漏,内存泄漏指的是在程序里动态申请的内存在使用完后,没有进行释放,导致这部分内存没有被系统回收,久而久之,可能导致程序内存不断增大,系统内存不足……引发一系列灾难性后果。
检查方法:
在main函数最后面一行,加上一句_CrtDumpMemoryLeaks()。调试程序,自然关闭程序让其退出(不要定制调试),查看输出:
{331} normal block at 0x00A05D50 , 415bytes long.
接下来,定位代码位置:
在main函数第一行加上:_CrtSetBreakAlloc(331); 意思就是在申请331这块内存的位置中断。然后调试程序,中断位置为内存泄漏位置。
本文详细介绍了内存泄漏的原因及可能造成的严重后果,并提供了一种有效的内存泄漏检测与定位方法。通过在程序中加入特定的代码,可以准确地找出内存泄漏的具体位置。

被折叠的 条评论
为什么被折叠?



