Утилита: P

много вопросов, которые задают вопрос, как обнаружить утечку идентифицируемых объектов. Похоже, ответ"ты не можешь".

Я только что проверил самый простой тестовый пример, что FxCop 10.0 этого не делает, ReSharper 4 с MSVS2010 этого не делает.

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

Я думал: возможно ли, используя рефлексию и другие непонятные передовые методы, что я могу внедрить проверку во время выполнения в финализаторе, чтобы увидеть,Dispose был вызван?

Как насчет фокусов с WinDBG + SOS?

Даже если не существует инструментов для этого, я хотел бы знать, возможно ли это теоретически (мой C # не очень острый).

Идеи?

НОТА Название этого вопроса могло вводить в заблуждение. Настоящий вопрос здесь должен бытьбудьIDisposable объект былDisposed() должным образом, Распоряжение GC не считается, так как я считаю это ошибкой.

редактировать: Решение: .NET Memory Profiler делает свою работу. Нам просто нужно спамить несколькоGC.Collect() в конце программы, чтобы наш профилировщик мог правильно подобрать статистику.

Ответы на вопрос(3)

Ваш ответ на вопрос