Вопросы по использованию профилирования памяти.net dottrace - Фильтр круговых ссылок

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

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

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

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

1 ответ

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

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

Другие вопросы по тегам