什么可能导致安全上下文令牌处理泄漏?

时间:2014-08-04 17:50:02

标签: delphi winapi handle resource-leak security-context-token

我有一个本机win 32应用程序,在作为HTTP服务器的负载测试期间,导致工作集随着时间的推移而增加。没有内存泄漏(通过跟踪PerfMon中的Private Bytes并使用FastMem监视运行时的内存使用情况来确认)。注意:负载是恒定的,大约有50个并发连接,所以没有明显的变化。

使用Process Explorer,我将问题缩小到Token句柄泄漏。我还使用了madKernel来报告句柄使用计数,这也证实了令牌句柄不断增加。

确切地说,我在Process Explorer中看到以下内容:

enter image description here

Process Explorer中显示的所有令牌句柄都具有相同的名称:'Doug-M46 \ Doug:ff739'):

enter image description here

我可以在代码中看到没有安全性(或需要安全凭证的其他相关API调用),但必须有一些调用导致此问题,我只是不知道还有什么要查找。

我已经使用AQTime尝试跟踪泄漏的来源,但没有任何运气。此时我正在考虑挂钩可能导致此泄漏的所有可能的API调用,因此我可以追踪它,但我宁愿避免这种极端的措施。

我的应用程序在一个单独的线程中使用ICS HTTP Server组件来处理我的应用程序的HTTP请求(32位应用程序,Delphi XE-2,ICS V8 Gold,Windows 7 Professional Build 7601:SP1)。

对于这些手柄泄漏原因的任何见解都会非常感激,因为我一直试图将它们追捕一段时间。

参考文献:

What can cause section handle leaks?

0 个答案:

没有答案