Show Persistent Objects of ABL Session

A Form (needs 10.2A+) that shows all persistent objects in the session (useful for quick visual for memory or memory leak troubleshooting).

You can run the attached file with

DEFINE VARIABLE objShowPersistentObjects AS CLASS ShowPersistentObjects NO-UNDO.
objShowPersistentObjects = NEW ShowPersistentObjects().
objShowPersistentObjects:Show().

while your program is running and each time you'll click back on the ShowPersistentObjects Form, the Form will be refreshed and show you the objects that are currently loaded in memory.

The program calls:

System.GC:Collect().
System.GC:WaitForPendingFinalizers().
System.GC:Collect().

to try to force .NET garbage collection before it shows the objects that are still in memory.