Вопросы об использовании профилирования памяти .net dotrace - Циклические ссылки фильтра

Я использую DotTrace в качестве профилировщика памяти. Интересно, как он может фильтровать циклические входящие ссылки?

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

Кроме того, что означают «Показать удерживаемые в новой вкладке» и «Показать достижимые в новой вкладке» и помогают ли они идентифицировать циклические ссылки?

Большое спасибо за любой ответ.


person Steve    schedule 13.07.2009    source источник


Ответы (1)


Что вы подразумеваете под "циклическими ссылками"? Если я правильно помню, невозможно добиться утечки памяти через циклические ссылки, поскольку сборщик мусора идентифицирует и уничтожит весь подграф взаимосвязанных объектов.

Однако, если какой-либо из объектов в подграфе имеет живую ссылку, весь граф сохраняется. Поэтому вам, вероятно, следует более внимательно изучить все объекты, которые вы подозреваете, и найти тот, на который неправильно ссылаются.

person olygofren    schedule 26.01.2011