-
Notifications
You must be signed in to change notification settings - Fork 3
/
findingresponsibleobjects.html
81 lines (65 loc) · 3.74 KB
/
findingresponsibleobjects.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="DITA-OT" /><meta name="DC.type" content="task" />
<meta name="DC.title" content="Finding Responsible Objects" />
<meta name="DC.relation" scheme="URI" content="../concepts/dominatortree.html" />
<meta name="copyright" content="Copyright (c) 2008, 2023 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 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ " type="primary" />
<meta name="DC.rights.owner" content="Copyright (c) 2008, 2023 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 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ " type="primary" />
<meta name="DC.format" content="XHTML" />
<meta name="DC.identifier" content="task_findingresponsibleobjects" />
<meta name="DC.language" content="en-us" />
<link rel="stylesheet" type="text/css" href="../styles/commonltr.css" />
<title>Finding Responsible Objects</title>
</head>
<body id="task_findingresponsibleobjects">
<h1 class="title topictitle1" id="ariaid-title1">Finding Responsible Objects</h1>
<div class="body taskbody">
<div class="section context">
<strong class="ph b">Immediate Dominators</strong>
<p class="p">This query finds and aggregates all objects dominating a given
set of objects on class level. It is very useful to quickly find out
who is responsible for a set of objects, as it directly answers
the question "who keeps these objects alive" instead of answering
"who has a reference to these objects". Using the fact that
every object has just one immediate dominator (unlike multiple incoming references)
the tool offers possibility to filter "uninteresting" dominators (e.g. java.* classes)
and directly see the responsible application classes.
</p>
<p class="p">Choice of options:</p>
<ul class="ul">
<li class="li">Selecting entries and using the context menu</li>
</ul>
<br /><img class="image" src="../mimes/exec_immediate_dominators.png" alt="screen shot of the context menu" /><br />
<div class="p">
<ul class="ul">
<li class="li">
The toolbar command
<span class="ph menucascade"><span class="ph uicontrol">Query Browser</span><abbr title="and then"> > </abbr><span class="ph uicontrol">Immediate Dominators</span></span>
starts a wizard to select an object set.
</li>
</ul>
</div>
<br /><img class="image" src="../mimes/6ac427cd.png" alt="screen shot execute immediate dominators" /><br />
<p class="p">
The immediate dominators of all char arrays are all objects
responsible for keeping the
<span class="keyword cmdname">char[]</span>
alive. The result will contain most likely
<span class="keyword cmdname">java.lang.String</span>
objects. If you add the skip pattern
<span class="keyword cmdname">java.*</span>
, and you will see the non-JDK classes responsible for the char
arrays.
</p>
</div>
</div>
<div class="related-links">
<div class="linklist relinfo relconcepts" xml:lang="en-us" lang="en-us"><strong>Related concepts</strong><br />
<ul class="linklist">
<li class="linklist"><a class="link" href="../concepts/dominatortree.html">Dominator Tree</a></li></ul></div>
</div>
</body>
</html>