Утечки памяти в приложении Classic ASP - PullRequest
2 голосов
/ 28 июля 2011

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

Мои со-разработчики уже прошликаждая страница, чтобы убедиться, что sql-соединения закрыты, коллекции очищаются и затем устанавливаются в nullТем не менее, это большой сайт, явно между нами мы что-то упустили.

У меня есть дамп процесса, когда он просачивался (взято из debug diag).Когда я использую debug diag для выполнения анализа памяти, он сообщает мне, что не обнаружил LeakTrack.dll, поэтому не может выполнить анализ утечек.

Я открыл дамп с помощью windbg и нашел одну кучу, которая многобольше, чем остальные, с 90% памяти в одной куче.Однако, когда я пытаюсь отследить блоки обратно в стеки вызовов, которые их выделяют, я всегда получаю:

invalid allocation size, possible heap corruption

Есть ли лучший способ попытаться отследить, когда происходит утечка?Или у вас есть какие-либо советы о том, как создать лучший дамп процесса, чтобы я мог проверить, откуда происходят утечки?

1 Ответ

1 голос
/ 28 июля 2011

Эти утечки продолжаются за пределы одной страницы? Все локальные элементы страницы должны быть очищены и освобождены после завершения страницы. Не зная больше о вашем приложении, я бы посоветовал взглянуть на давно полюбившиеся объекты. Вы что-то храните в сеансе или приложении?

...