Out of Memory错误 - 用于查找经典ASP内存泄漏的工具?

时间:2009-12-21 23:23:07

标签: com asp-classic memory-leaks debugging

我在传统ASP中遇到 Out of Memory 错误,可能是尝试访问数据的地方。例如:

Microsoft VBScript compilation error '800a03e9' 
Out of memory 
(some file) Line 0

这些错误只会偶尔发生一次,它们会持续发生几分钟,然后网络服务器必须重新启动应用程序池,因为所有会话都会丢失。

在经典ASP应用程序中查找/诊断内存泄漏的好工具是什么,这种应用程序大量使用ADO进行数据访问以及其他几个现成的COM对象。

据推测,任何内存泄漏都来自COM对象而不是脚本,因此一般的Windows调试器或泄漏查找器可能就是我所需要的。关于什么是合适的建议?

或者有什么可能导致这些错误的其他想法?

3 个答案:

答案 0 :(得分:1)

不幸的是,追踪内存泄漏并非易事: - (

以下是需要注意的事项的完美摘要:

http://www.leinadium.com/code/classic-asp-memory-leaks-in-iis/

请务必阅读该帖子中的链接以及工具列表。

祝你好运!

答案 1 :(得分:1)

Microsoft有一个很好的实用程序umdh.exe,可能有助于在这种情况下发现泄漏。它允许您在一个点上拍摄“快照”,运行应用程序(例如,IIS),然后拍摄另一个快照并比较内存使用差异。

答案 2 :(得分:0)

如果

您尝试使用EOF OR BOF获取一行数据

数据库连接是关闭的,或者你试图用尽了!

你应该得到错误。