Microsoft
27.12.2023, 09:13 Uhr
Event Handler Leaks finden und beheben
Event-Handler-Lecks sind eines der lästigsten Probleme, mit denen sich WPF-Entwickler auseinandersetzen müssen. Sie sind leicht zu verursachen, ziemlich schwer zu erkennen und noch schwieriger zu beheben.
Ein Objekt leckt auf dem Heap, wenn es zwar nicht mehr verwendet wird, aber nicht für die Garbage Collection identifiziert wurde. Dies bedeutet, dass es ungewollt im Speicher verbleibt. Ereignis-Handler sind berüchtigt dafür, dieses Szenario zu verursachen. Dies liegt daran, dass Ereignis-Handler einen direkten Bezug zwischen einem Objekt und dem Ereignis, das es abonniert hat, herstellen.
Wie Microsoft-Mitarbeiter Massimo Giusti berichtet, vereinfacht das neue Visual Studio Managed Memory Usage Tool (kommt mit Version 17.8 Preview 2) den Prozess des Aufspürens und Behebens dieser Lecks erheblich. Das Tool liefert Informationen darüber, welche Objekte undicht sind und auf welches Ereignis sie abonniert sind.
Wie man Event Handler Leaks erkennt und beseitigt erklärt Massimo Giusti in diesem Blogbeitrag.