Delphi-Quellcode:
...
{$IFDEF USE_LIBICU}
LibICUSuffix := '';
{$ENDIF}
{$IFDEF WEAKREF}
InstHashMap.Finalize; // <---- Ersten Breakpoint drauf!
{$ENDIF}
{$IF defined(MSWINDOWS) or defined(OSX32)}
{Uninitialize the default memory manager, and free all memory allocated by
this memory manager.}
FinalizeMemoryManager; // <---- Zweiten Breakpoint drauf!
{$ENDIF}
end.
Gehe mal in der System.pas gaaaanz runter bis zum finalization und kloppe mal die Breakpoints wie oben beschreiben rein und beende dein Programm ganz normal.
Wird der erste Breakpoint angesprungen und das CPU-Fenster ist noch nicht offen -> F9.
Geht dann vor dem zweiten Breakpoint das CPU-Fenster auf, dann alles nochmal auf Anfang!
Beim nächsten Beenden bis zum bitteren Erbrechen TInstHashMap.Finalize und die einzelnen TInstBucket.Finalize sowie TInstItem.Free Einträge durchsteppen und mit schlauen Hingucken den Übeltäter identifizieren.
Tritt das Problem immer bei den gleichen Indizes der Schleifen auf?
Immer weiter eingrenzen, irgendwo findest du dann den Übeltäter und kannst die Ursache dingfest machen!
Zusatzfrage: Bei dem Kollegen tritt das auch auf?