Gute Frage. Bisher war meine Taktik: "Durch Glück oder gar nicht".
Ich schaue halt mal mögliche Stellen durch die mir in den Kopf kommen und kommentiere ggf. mal ein paar Stellen aus und damit kann man die Quelle mit etwas Arbeit schon ein bisschen einschränken.
Wenn man dann an der Stelle ist sieht man dann oft/manchmal woran es wahrscheinlich liegt.
Wenn du ReportMemoryLeaks während der Entwicklung immer/oft an hast weißt du ja schon seit wann das Problem auftaucht und welche Stellen sich seitdem eigentlich nur geändert haben.
Vllt. auch mal überlegen ob und ggf. wo du manuell Speicherplatz reservierst mit GetMem z.B.
Ich hatte diese Memoryleaks z.B. schonmal bei GetPropList der
RTTI. da bekommt man einen Pointer auf eine Property-Liste zurück den man (wie ich dann rausgefunden habe) später auch wieder freigeben muss mit Dispose/FreeMem.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."