Ho scritto C ++ per 10 anni. Ho riscontrato problemi di memoria, ma potrebbero essere risolti con un ragionevole sforzo.
Negli ultimi due anni ho scritto C #. Trovo di avere ancora molti problemi di memoria. Sono difficili da diagnosticare e risolvere a causa della non determinanza e perché la filosofia C # è che non dovresti preoccuparti di queste cose quando lo fai decisamente.
Un problema particolare che riscontro è che devo smaltire e ripulire esplicitamente tutto nel codice. Se non lo faccio, i profiler della memoria non aiutano davvero perché c'è così tanta pula che fluttua attorno a te che non riesci a trovare una perdita tra tutti i dati che stanno cercando di mostrarti. Mi chiedo se ho un'idea sbagliata o se lo strumento che ho non è il migliore.
Che tipo di strategie e strumenti sono utili per affrontare le perdite di memoria in .NET?