views:

189

answers:

3

I am getting Out of Memory errors in classic ASP, probably where attempting to access data. For example:

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

These errors only happen once in a while and they keep happening for a few minutes and then the webserver must be restarting the app pool because all sessions are lost.

What is a good tool for finding/diagnosing memory leaks in a classic ASP application that makes heavy use of ADO for data access and a couple of other off the shelf COM objects.

Presumably any memory leaks would be from the COM object rather than the script, so a general Windows debugger or leak finder might be what I need. Any advice on what would be appropriate?

Or any other thoughts on what might cause these errors?

+1  A: 

Unfortunately, tracking down memory leaks is not an easy task :-(

Here's a good summary of things to watch out for here:

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

Be sure to read the link inside that post as well for a list of tools.

Good luck!

Chris Melinn
A: 

if

you try to get one row data with EOF OR BOF

or

the database connection is close or readony you try to wirte!

you should get the ERROR.

cjjer
+1  A: 

Microsoft has a good utility umdh.exe that may be good for finding leaks in this situation. It allows you to take a "snapshot" at one point, exercise the application (e.g., IIS) then take another snapshot and compare the memory usage differences.

Mark Wilkins