Я написал C ++ в течение 10 лет. У меня возникли проблемы с памятью, но они могли быть устранены с разумным усилием.
Последние пару лет я пишу на C #. Я все еще получаю много проблем с памятью. Их сложно диагностировать и исправить из-за недетерминированности, а также потому, что философия C # заключается в том, что вам не нужно беспокоиться о таких вещах, когда вы совершенно точно это делаете.
Одна конкретная проблема, которую я нахожу, заключается в том, что я должен явно распоряжаться и очищать все в коде. Если я этого не сделаю, то профилировщики памяти на самом деле не помогают, потому что вокруг так много плывущей болтовни, что вы не можете найти утечку во всех данных, которые они пытаются вам показать. Интересно, у меня неправильная идея или инструмент, который у меня есть, не самый лучший.
Какие стратегии и инструменты полезны для устранения утечек памяти в .NET?