Ошибки нехватки памяти - инструмент для поиска классических утечек памяти ASP? - PullRequest
4 голосов
/ 22 декабря 2009

Я получаю Недостаточно памяти ошибок в классическом ASP, вероятно, при попытке доступа к данным. Например:

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

Эти ошибки появляются только время от времени, и они продолжают происходить в течение нескольких минут, а затем веб-сервер должен перезапустить пул приложений, поскольку все сеансы потеряны.

Что представляет собой хороший инструмент для поиска / диагностики утечек памяти в классическом приложении ASP, которое интенсивно использует ADO для доступа к данным и пару других готовых COM-объектов.

Предположительно, любые утечки памяти будут происходить из COM-объекта, а не из сценария, поэтому мне может понадобиться общий отладчик Windows или средство поиска утечек. Любой совет, что было бы уместно?

Или какие-либо другие мысли о том, что может вызвать эти ошибки?

Ответы [ 3 ]

1 голос
/ 29 декабря 2009

У Microsoft есть хорошая утилита umdh.exe , которая может быть полезна для обнаружения утечек в этой ситуации. Это позволяет вам сделать «снимок» в одном месте, применить приложение (например, IIS), а затем сделать еще один снимок и сравнить различия в использовании памяти.

1 голос
/ 29 декабря 2009

К сожалению, отследить утечки памяти - непростая задача: - (

Вот хорошее резюме, на которое следует обратить внимание:

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

Обязательно прочтите ссылку в этом посте, а также список инструментов.

Удачи!

0 голосов
/ 29 декабря 2009

если

вы пытаетесь получить данные одной строки с помощью EOF ИЛИ BOF

или

соединение с базой данных закрыто или готово к попытке чтения!

вы должны получить ОШИБКУ.

...