如何最好地识别在运行时未正确释放的内存?我知道有几个程序可以在应用程序关闭时识别已分配和未释放(泄漏)的内存。但我的问题似乎是在程序执行期间(可能是一个线程)创建了一些未释放的对象,尽管它们应该在系统完成“工作”之后。
保持系统运行会随着时间的推移而积累。但是当程序关闭时,内存似乎被正确释放,因此从未报告为我目前使用的 MadExcept 中的泄漏。
我如何最好地检测每次运行“工作”时分配此内存的内容,并且在程序终止之前不释放它?这是在一个相当大的服务器系统中,大约有 100 万行代码、几个 DLL 子项目和运行的多个线程 (40-50)。
也许有一些系统可以识别已分配的对象,这些对象的存活时间超过 X 分钟。假设选择了 60 分钟并且系统继续运行。那么这些信息可以用来定位这些长寿物体并进行调查吗?