.NET: мониторинг времени жизни объектов (рождение / смерть / память)

Проблема: Как лучше всего получить исчерпывающее представление о рождении / смерти / использовании памяти ВСЕХ объектов, созданных за время существования приложения? (лучше бы графический отчет)

Почему такой вопрос: Среди прочего, идея заключается в том, чтобы выявить долгоживущие объекты, которые никогда не могут быть собраны сборщиком мусора или вызвать проблемы с памятью (например, проблемы с кучей / стеком и т. Д.), И предоставить ценную информацию для эффективного управления жизненными циклами объектов

(на самом деле я провел целую ночь, отлаживая многопоточное приложение, чтобы наконец заметить, что объект, "считающийся удаленным / обновленным", на самом деле все еще жив и разрушает память сервера.)

VS2010 Performance Wizard & Profiler может будь хорошим стартером ... Я наткнулся на несколько способов сделать это программно, но это включало индивидуальную упаковку объектов (кропотливую, а не без кода)

Я ищу что-то, что выглядело бы так:

Application START[-----------------------------------------------------------]END
Object 1                [---------------------------]
Object 2                          [---------------------------]
Object 3           [-----------------------------------------------------]
7
задан Mehdi LAMRANI 17 December 2010 в 17:19
поделиться