Xojo Instruments is a runtime tool to diagnose memory leaks and circular references in Xojo Desktop applications.
https://user-images.githubusercontent.com/939877/144716398-03936a9c-7906-4c75-ab9d-3a7dd54c9866.mov
DesktopApp
folder.XojoInstruments
folder to your project using the IDE.App.Open
(or App.Opening
) event handler of your project.XojoInstruments.Start()
Hint: If you are using Xojo 2021 Release 3 or later, you may need to change the Super of XojoInstrumentsDesktopGUI
to DesktopWindow
.
Capture
in Xojo Instruments
window to capture the current runtime status.Capture & Compare
.Comparison
tab to see what objects has been added/removed.While running your application under the IDE, you can also view the selected object in IDE by clicking Inspect in IDE
.
Reference Graph represents a dependency (reference hierarchy) between objects. You can possibly find circular reference by using the graph.
Build Reference Graph
and click Capture
.Visualization
tab.Detect circular
to automatically highlight circular references in the graph.Render
.While running your application under the IDE, you can view the object in IDE by double-clicking a object node in the graph.
You can choose either vis.js
(bundled with Xojo Instruments, not supported on Windows) or dot
command (GraphViz - needs to be installed separately) to render the graph.
You can also use Backreference
tab to see back reference (list of objects referring the target object).
EndOfLine
, DockItem
and Xojo.Introspection.*
.AddHandler
/ AddressOf
)Delegate
instance.
This is a known limitation.MIT License