blob: 497aa08d7339d32bb43adec4f884bbadab377581 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en-us" lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="reference"/>
<meta name="DC.Title" content="Tips and Tricks"/>
<meta name="abstract" content=""/>
<meta name="description" content=""/>
<meta name="copyright" content="Copyright (c) 2008, 2018 SAP AG, IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
<meta name="DC.Rights.Owner" content="Copyright (c) 2008, 2018 SAP AG, IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="ref_tips"/>
<meta name="DC.Language" content="en-us"/>
<link rel="stylesheet" type="text/css" href="../styles/commonltr.css"/>
<title>Tips and Tricks</title>
</head>
<body id="ref_tips">
<h1 class="title topictitle1">Tips and Tricks</h1>
<div class="body refbody"><p class="shortdesc"/>
<div class="section">
<p class="p"> The following tips and tricks give some helpful ideas for
increasing your productivity and ease the work with Memory Analyzer.
</p>
<table cellpadding="4" cellspacing="0" summary="" id="ref_tips__tips_table" border="1" class="simpletable"><tr class="sthead">
<th valign="bottom" align="left" id="d8046e33" class="stentry" width="20%">Tip</th>
<th valign="bottom" align="left" id="d8046e36" class="stentry" width="80%">Description</th>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Shortcuts</td>
<td valign="top" headers="d8046e36" class="stentry">
<p class="p">Ctrl-Q - Opens the Query Browser</p>
<p class="p">Ctrl-H - Opens the history of executed queries.</p>
<p class="p">Alt-I - Opens a popup menu that explains the icons</p>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Quick Search</td>
<td valign="top" headers="d8046e36" class="stentry">
Just start to type while you are in the heap editor, all the
matches will be highlighted. This quick search starts is activated
when 3 or more letters are provided.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/m65d10c7b.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Filter</td>
<td valign="top" headers="d8046e36" class="stentry">
To show only rows of a table or tree matching a filter,
click the top row, or press enter when the top row is selected.
Then type the required filter for the column. Multiple filters can be used.
In the example the "(1,909 filtered)" on the totals row means 1909 rows have been excluded by the filter.
<p class="p">
For text columns a regular expression is used as a filter.
</p>
<div class="p">
For numeric columns a numeric comparison is used as a filter.
Use one of the following:
<ul class="ul">
<li class="li">Intervals: 1000..10000 1%..10%</li>
<li class="li">Upper Boundary: &lt;=10000 &lt;1%</li>
<li class="li">Lower Boundary: &gt;1000 &gt;=5%</li>
<li class="li">Equality: 1000 5% NaN ∞</li>
<li class="li">Inequality: !=1000 &lt;&gt;5% !=NaN<div class="note restriction"><span class="restrictiontitle">Restriction:</span> Experimental</div>
</li>
<li class="li">Complement of interval: !1000..10000 !1%..10% (all values including NaN except those in the interval [logical negation of range])<div class="note restriction"><span class="restrictiontitle">Restriction:</span> Experimental</div>
</li>
<li class="li">Complement of interval: U\1000..10000 U\1%..10% (all values excluding NaN except those in the interval [universal set difference from range])<div class="note restriction"><span class="restrictiontitle">Restriction:</span> Experimental</div>
</li>
</ul>
</div>
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/filter.png"/></div><br/>
To move between columns of the filter row, click on the required cell, or once one cell
is selected move to others with &lt;Tab&gt; or &lt;Shift&gt; &lt;Tab&gt;.
Use &lt;Esc&gt; to cancel or &lt;Enter&gt; to finish modifying the filters, or click on another row to continue to work
with the tree or table, or use
&lt;Ctrl&gt; or &lt;Command&gt;+&lt;Tab&gt; to navigate another pane.
&lt;Tab&gt; or &lt;Shift&gt;+&lt;Tab&gt; will then revert to normal navigation.
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Resize and reorder columns</td>
<td valign="top" headers="d8046e36" class="stentry">
To resize or rearrange columns using the keyboard select a filter entry
for the column as above.
<ul class="ul">
<li class="li">Use &lt;Ctrl&gt; or &lt;Command&gt;
up and down cursor keys to resize the column.</li>
<li class="li">Use &lt;Shift&gt; up and down cursor keys to change the position of the column.</li>
<li class="li">Use use &lt;Ctrl&gt; or &lt;Command&gt; &lt;Numpad plus&gt; when not in edit filter mode to expand
columns to full width.</li>
</ul>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Keyboard navigation of trees</td>
<td valign="top" headers="d8046e36" class="stentry">
<ul class="ul">
<li class="li">Use &lt;Numpad plus&gt; or &lt;enter&gt; to expand a row.</li>
<li class="li">Use &lt;Numpad minus&gt; or &lt;enter&gt; to collapse a row.</li>
<li class="li">Use &lt;Numpad multiply&gt; to fully expand a row and its descendants. Use &lt;Escape&gt; to cancel further expansion.</li>
<li class="li">Use &lt;Numpad divide&gt; to fully collapse all selected rows and their descendants.</li>
</ul>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Notes, Hyperlinks in Notes View</td>
<td valign="top" headers="d8046e36" class="stentry">
Notes View recognizes and highlights object addresses. Activating
the hyperlink brings up a context menu which contains actions for
this particular object. Activate the hyperlink using the control key
and a mouse click (or command + click).
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/m4d2fff8d.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Undo/redo in Notes View, OQL Pane</td>
<td valign="top" headers="d8046e36" class="stentry">
There is undo/redo using Ctrl-Z / Ctrl-Y in the Notes View and
the OQL Pane. The navigator pane can also be used to retrieve
previous OQL statements.
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Copy To Clipboard</td>
<td valign="top" headers="d8046e36" class="stentry">
Use Ctrl-C to copy the selection to the clipboard. The data will
keep its structure:
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/1af34c1.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry"> Manage the history of opened heap dumps</td>
<td valign="top" headers="d8046e36" class="stentry">
Heap Dump History view offers a set of context menu actions to
manage the history of opened heap dumps:
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/691a2594.png"/></div><br/>
<p class="p">
<span class="keyword cmdname">Delete Heap Dump</span>
action removes the heap dump from the history, but not from the
file system. To find a heap dump in the file system use
<span class="keyword cmdname">Explore in File System</span>
context menu action
</p>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Manage editor tabs</td>
<td valign="top" headers="d8046e36" class="stentry">
Right click on the Heap Editor tab will open a context menu to
manage the tabs. It might be very helpful when many tabs are open.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/7df38219.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry"> Link Inspector View with Heap Editor</td>
<td valign="top" headers="d8046e36" class="stentry">
Object Inspector View shows the details for the single selected
object. The view updates itself with every change in the
selection. Sometimes it is interesting to compare two or more
objects or just to capture the view. To do so use
<span class="keyword cmdname">Link with Snapshot</span>
context menu. The Inspector view will keep its data. To have
another Inspector view, open it via
<span class="ph menucascade"><span class="ph uicontrol">View</span> &gt; <span class="ph uicontrol">Inspector</span></span>
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/link_with_snapshot.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Value tab in Inspector View</td>
<td valign="top" headers="d8046e36" class="stentry">
The Object Inspector View shows the details for the single selected
object. The value tab shows the value as given by the
<a class="xref" href="../doc/org_eclipse_mat_api_nameResolver.html">
name resolver</a> extension point.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/inspector_value.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Image and Color objects</td>
<td valign="top" headers="d8046e36" class="stentry">
The Object Inspector View
recreates Eclipse colors and images from the information in the heap dump and
displays the information in the lower left corner of the inspector.
<p class="p">
<img class="image" src="../mimes/nn_inspector_imagedata.png"/>
<img class="image" src="../mimes/nn_inspector_rgb.png"/>
</p>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Class Hierarchy in Inspector</td>
<td valign="top" headers="d8046e36" class="stentry">
The inspector now displays the full class hierarchy of any selected object.
One can drill-down via context menus.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/nn_inspector_class_hierarchy.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" headers="d8046e33" class="stentry">Context menu for totals row</td>
<td valign="top" headers="d8046e36" class="stentry">
The totals row now represents all the additional entries in a tree or table.
If the totals row is selected then the context menu will operate on all the unshown
entries in the tree or table. If all the rows are selected, for example using Ctrl-A,
then the displayed rows are selected and the totals row is selected and then
the context menu will operate on all the entries in the tree and table.
Filtering operates as normal, and the rows excluded by the filter are not part of
the entries obtained by selecting the totals row.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/totals_menu.png"/></div><br/>
</td>
</tr>
<tr class="strow">
<td valign="top" id="oqlcompletion" headers="d8046e33" class="stentry">OQL autocompletion</td>
<td valign="top" headers="d8046e36" class="stentry">
The Object Query Language (OQL) pane has syntax highlighting for OQL
keywords. It also offers suggestions for class names for the
<span class="keyword">SELECT</span> <span class="keyword">FROM</span> clause, both simple class names and regular expressions.
The class name list is brought up on typing a dot '.'. Ctrl-space
can also be used to bring up the list.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion1.png"/></div><br/>
The regular expression list appears on typing a double-quote '"'.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion2.png"/></div><br/>
Autocompletion
for <span class="keyword">SELECT</span> and <span class="keyword">WHERE</span> clauses
can also supply field names. The class
for the field names is selected in the <span class="keyword">FROM</span> clause by typing space
after the class name. This brings up a context information box, and
selects that class as the active class for field names.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion3.png" alt="select s from java.util.ArrayList java.util.ArrayList"/></div><br/>
Suggestions are then provided in the <span class="keyword">SELECT</span> or
<span class="keyword">WHERE</span> clauses on typing '.' or '@' or Ctrl-space.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion4.png"/></div><br/>
Attributes begin with '@' and the autocompletion is filtered based on
what has been typed so far.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion5.png"/></div><br/>
In <span class="keyword">SELECT</span> and <span class="keyword">WHERE</span> clauses there are also suggestions for methods on
key Memory Analyzer objects representing contents of the snapshot.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion6.png"/></div><br/>
Pressing enter adds the selected text to the command window.
<br/><div class="imageleft"><img class="image imageleft" src="../mimes/oql_completion7.png"/></div><br/>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>