0

最近我们观察到我们的应用服务器内存随着一些客户端 API 的增加而增加,最终导致崩溃。

所以我们尝试使用boundschecker,它显示没有内存泄漏并随着内存的增加而导致崩溃(私有字节正在增加)。在 MS(sysinternals)的 Process Explore 中验证。

那么有什么方法可以获取如何按顺序分配内存(函数调用)或按顺序分配句柄。所以我们可以得到内存在这个位置增加。

我们想要捕获来自所有线程的所有函数调用。我们也不能修改太多代码,因为它有数千行代码。

4

1 回答 1

1

如果您找不到任何内存泄漏,则很有可能您有句柄泄漏 - 您甚至可以在任务管理器中通过在列列表中选择“句柄计数”来检查这一点。Process Explorer 应该能够向您显示应用程序中打开的句柄列表。这可能不是按顺序排列的,但它应该让您了解泄漏的资源类型 - 通常,所有泄漏都源自应用程序的同一区域,随着时间的推移会累积并导致崩溃。

于 2010-11-02T22:58:33.190 回答