最近我们观察到,我们的应用程序服务器内存随着一些客户端API的增加而增加,最终导致崩溃。
因此,我们尝试使用boundschecker,它没有显示内存泄漏,并导致崩溃,因为内存增加(私有字节增加)。已在MS(系统内部)的Process Explore中验证。
那么,有没有办法获得内存是如何按顺序分配的(函数调用),或句柄是如何按顺序分配的?所以我们可以在这个位置得到内存在增加。
我们希望捕获来自所有线程的所有函数调用。我们也不能修改太多的代码,因为它有上千行代码。
发布于 2010-11-03 06:58:33
如果您找不到任何内存泄漏,则很可能存在句柄泄漏-您甚至可以在任务管理器中通过在列列表中选择"Handle Count“来检查这一点。Process Explorer应该能够显示应用程序中打开的句柄的列表。这可能不是按顺序进行的,但它应该让您了解泄漏的是哪种资源-通常,所有的泄漏都来自应用程序的同一区域,随着时间的推移,这些泄漏可能会累积并导致崩溃。
https://stackoverflow.com/questions/4082784
复制相似问题