Каковы наиболее распространенные (и часто игнорируемые) причины утечек памяти в управляемых (.net) приложениях? - PullRequest
13 голосов
/ 23 марта 2009

Кто-нибудь может порекомендовать краткий контрольный список / руководство по передовому опыту, чтобы помочь нам избежать простых (но неуловимых) ошибок, которые могут привести к утечке памяти в приложениях .net

Мне трудно и довольно больно начинать поиск причины утечки памяти, когда я нахожусь на этапе тестирования проекта.

Если есть «эмпирические правила», позволяющие полностью устранить утечки памяти в управляемых приложениях, прошу вас поделиться своим опытом.

Спасибо.

(я думал, что управляемые приложения должны быть «управляемыми памятью», т. Е. GC? Почему тогда мы все еще находим утечки в чисто управляемом коде?)

Ответы [ 11 ]

1 голос
/ 23 марта 2009

Циркулярные ссылки в классах значений (обычно на уровне модели вашего приложения) также могут легко скрывать свои утечки. Теоретически, не делайте их, на практике будьте внимательны, когда вам это нужно:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...