摘要:内存泄露问题一直是C、C++等程序员们非常关心的一个问题,借助一些工具,程序员可以认识程序中存在的内存泄露问题。对于内存泄露检测分为静态和动态方法:静态方法一般采取分析,验证手段对源程序进行处理,不需要执行程序;动态方法则是让程序运行,监视程序的运行,获取程序的行为,从而分析是否有内存泄露问题。本文针对内存泄露问题,提出了一种动态检测内存泄露的方法,这种方法在向程序员提供更加有效的诊断信息方面做了一些研究工作。在以往的很多动态内存泄露的检测工具中,更多地关注了在程序的什么地方申请的内存发生了泄露,而对于这个泄露为何会产生所做的工作很少。在我们的这个工作中,对源程序进行了插桩。通过动态插桩的方式,收集程序的运行轨迹,将发生内存泄露时的内存轨迹呈现于程序员。并将该运行轨迹与在同一个地方申请了内存,却没有发生内存泄露的轨迹进行比对,指出可能是哪一个条件判断导致了内存泄露的发生。