The heap walker graph does not automatically show any objects from the current object set, nor is it cleared
when you change the current object set. You manually add selected objects to the graph in the
outgoing references view,
the incoming references view or the
biggest objects view.
In the graph, you can explore the incoming and outgoing references of the selected objects and find paths between objects or paths to garbage collector roots. |
The graph has the following properties:
If applicable, an instance has plus signs at the left and the right side to show or hide incoming and outgoing references. The controls at the left side are for incoming, the controls at the right side for outgoing references. The plus signs have the same effect as the Show outgoing references and the Show incoming references actions. If there is no plus sign, all references have been expanded. Any modification to the reference graph can be reverted with the undo action. If you open a large number of references and want to track back to a previous state of the graph, hit this button repeatedly. If you hit undo too may times, a redo action is also available. Consecutive undo/redo is useful for replaying what happens to the graph when expanding a node.
Each object is optionally annotated with an object ID. With this ID, you can check whether two objects are the same or not. The display of IDs can be switched off the the context menu and the view settings. |
You can hide nodes by selecting them and
pressing the delete key. You can select multiple nodes by holding the with the CTRL or SHIFT key and delete them together.
The graph may contain a number of unconnected branches. To clean up the graph, select a node on the branch that should be retained and select the remove unconnected items action from the graph toolbar or the context menu. To remove all objects from the graph to its original state, you can choose Clear Graph from the context menu. The reference graph offers a number of navigation and zoom options. |
To check why an instance is not garbage collected, you can select it and click the [Show paths to GC root] button at the top of the view. The options dialog allows you to configure the way JProfiler performs the search. After the search has completed, the graph is expanded up to the garbage collector roots that were found. If the object is not referenced by a garbage collector root, a message box will be displayed. Note that this case is only possible if the "Perform full GC in heap dump" option in the heap walker option dialog is unchecked. The garbage collector roots themselves are displayed with a red background. |
Another kind of path that can be interesting is the path between two selected objects.
The [Find path between two selected nodes]
button at the top of the graph becomes active once you select exactly two nodes in the graph. The
path search options dialog allows you to select the type of the path
and the stopping points of the search.
Any found path will be highlighted in red along the edges of the path. When you search for another path, the old highlighted path displayed in black again. |
There are four layout strategies for showing the reference graph which can be chosen
by clicking on in the toolbar
or choosing the layout strategy from the context menu.
|
To add a selection step from this view you can select one or multiple objects and click the
[Use ...] button above the graph and choose in the popup menu. Multiple objects are selected by
keeping the SHIFT or CTRL keys pressed during selection. The following selection modes are available:
After your selection, the view helper dialog will assist you in choosing the appropriate view for the new object set. |