|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
|
2 <html> |
|
3 <head> |
|
4 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> |
|
5 <title>Release Notes</title> |
|
6 <link href="../book.css" type="text/css" rel="stylesheet"> |
|
7 <style type="text/css"><!-- .style2 {font-size: 12px} --></style> |
|
8 </head> |
|
9 <body bgcolor="#FFFFFF"> |
|
10 |
|
11 <h2>Release Notes</h2> |
|
12 <h4>Dependency Explorer – Version 2.4.4</h4> |
|
13 <p>Released 26th November 2009</p> |
|
14 <ul> |
|
15 <li><a href="#description">Product description</a></li> |
|
16 <li><a href="#features">Main features</a></li> |
|
17 <li><a href="#newfeatures">What's new</a></li> |
|
18 <li><a href="#installation">Installation notes</a></li> |
|
19 <li><a href="#requirements">System requirements</a></li> |
|
20 <li><a href="#compissues">Compatibility issues</a></li> |
|
21 <li><a href="#issues">Known issues</a></li> |
|
22 </ul> |
|
23 |
|
24 <h3><a name="description"></a>Product description</h3> |
|
25 <p>Dependency Explorer is a tool for analysing static dependencies between components. In addition to resolving static dependencies, the tool can also display the functions that are used from each component. Core functionality is implemented in a command line runnable executable. Dependency Explorer offers Carbide.c++ integration that provides a graphical user interface for the command line tool.</p> |
|
26 <p>The Dependency Explorer tool can be started either by selecting the <b>Carbide > Dependency Explorer</b> menu item or via <b>Window > Show View > Other...</b> under <b>Carbide Extensions</b> category.</p> |
|
27 |
|
28 <h3><a name="features"></a>Main features</h3> |
|
29 <ul> |
|
30 <li>UI for generating cache files that store the component dependency information. Cache files are updated incrementally after the first-time creation.</li> |
|
31 <li>UI for selecting SDK/Build target(s) and components to be analyzed for dependencies. A search field for finding a matching component in the component selection page.</li> |
|
32 <li>UI for showing a dependency hierarchy for the analysed component.</li> |
|
33 <li>UI for showing the functions that have been imported from the component selected in the dependency hierarchy (ordinal, name, and offset).</li> |
|
34 <li>UI for showing the functions that have been exported from the component selected in the dependency hierarchy (ordinal, name).</li> |
|
35 <li>New <b>Add SIS files</b> dialog enables adding SIS files from multiple different folder locations</li>. |
|
36 <li>The AddSISFile toolbar option enables adding SIS files & updation of cache for the selected SDK & target</li>. |
|
37 <li>Two UI options for showing component properties (dialog and properties tab). </li> |
|
38 <li>"Is Used By..." context menu both in the component hierarchy tree and in the Imported Functions pane, and Component List view that displays those components that are using the selected component/function. The toolbar shows which kind of search was used to generate the component list.</li> |
|
39 <li>Information from the Component List view and from Imported Functions tab can be copied to the clipboard.</li> |
|
40 <li>Find dialog that enables finding components from the dependency tree based on a given name (or part of the component name).</li> |
|
41 <li>Possibility to analyze components from Symbian OS Installation (SIS) files together with an existing build targets.</li> |
|
42 <li>Update Cache action that enables quick cache update for the currently selected build targets.</li> |
|
43 <li><b>Searching for components and functions</b> feature enables searching of components, imported functions and exported functions from the currently selected build target cache(s). Search results can be copied to clipboard for further processing, and double-clicking of a search result item opens the corresponding component as a new root component.</li> |
|
44 <li><b>Locating components</b> feature enables showing also component tree for the components that are dependent upon based on generic component name (for example <i>hal.dll</i>). Those components do not exist as such in cache data but may have multiple concrete implementations (for example <i>hal.dll</i> has multiple implementations <i>_h4hrp_hal.dll, _template_hal.dll, _h2_hal.dl</i>l etc.). There are two options for locating components: |
|
45 <ul> |
|
46 <li>Locating manually from component list by selecting <b>Locate Component...</b> action from context menu (user-bind)</li> |
|
47 <li>Defining known component prefixes (for example <i>_h4hrp_</i>) in the preferences page and correct component instances are located automatically (auto-bind).</li> |
|
48 </ul></li> |
|
49 <li><b>Viewing source file</b> feature adds an action to Imported and Exported Functions tabs. The action opens up for viewing the source file that implements the currently selected function.</li> |
|
50 <li><b>Viewing source file in project</b> feature adds an action to Imported and Exported Functions tabs. The action opens up for viewing the project and source file that implements the currently selected function.</li> |
|
51 <li><b>Viewing method call locations</b> feature adds an action to Imported Functions tab. The action opens up the project for the component that uses the currently selected function, and searches for all instances where the selected function is called from the component.</li> |
|
52 <li>Context-sensitive help.</li> |
|
53 <li>Dependency Explorer comes with a command line tool version of <i>appdep.exe</i> and <i>cfilt.exe</i>. Both executables can be found in a delivery jar-package from |
|
54 the directory <i>com.nokia.s60tools.appdep_X.Y.Z\os\win32\x86 |
|
55 </i>, in which <i>X.Y.Z</i> is the current build number for Dependency Explorer. |
|
56 Both executables are copied at run-time to the directory <i> |
|
57 \configuration\org.eclipse.osgi\bundles\{DIR}\1\.cp\os\win32\x86</i>, in |
|
58 which <i>{DIR}</i> is the workstation-specific directory name.</li> |
|
59 <li>Supports Symbian OS versions 6.x-9.x. </li> |
|
60 <li>Supports GCC toolchain<ul> |
|
61 <li>for targets ARMI, ARMV4, THUMB and targets starting with M. </li> |
|
62 </ul></li> |
|
63 <li>Supports GCCE toolchain (tested with CSL Arm Toolchain, 2005-05-19/Sourcery G++ Lite for ARM SymbianOS Toolchain, 2008.1.0.126) and RVCT 2.2/3.0/3.1 toolchain (tested with 2.2 Build 503)<ul> |
|
64 <li>for other targets types.</li> |
|
65 </ul></li> |
|
66 <li>Does not support WIN* or TOOLS* target types.</li> |
|
67 </ul> |
|
68 |
|
69 <h3><a name="newfeatures"></a>What's new</h3> |
|
70 <ul> |
|
71 <li>Fix: Fixed the issue with the features <b>Show Source File</b> and <b>Show Method Call Locations</b> |
|
72 on non symbian code base like QT & Orbit.</li> |
|
73 </ul> |
|
74 |
|
75 <h3><a name="installation"></a>Installation notes</h3> |
|
76 <ul> |
|
77 <li>N/A</li> |
|
78 </ul> |
|
79 |
|
80 <h3><a name="requirements"></a>System requirements</h3> <p>Basic |
|
81 Requirements:</p> <ul> |
|
82 <li>Windows 2000, Windows XP</li> |
|
83 <li>RVCT or GCCE Toolchain (GCC toolchain optional, needed for ARMI, ARMV4, |
|
84 and THUMB targets)</li> |
|
85 <li>Carbide.c++ v2.0.2, or newer</li> |
|
86 <li>Minimum SDK build PC.</li> |
|
87 <li>Normal SDK build PC.</li> |
|
88 </ul> Additional requirements: <ul> |
|
89 <li>Carbide.c++ with all its prerequisites have to be installed prior to installation. |
|
90 See the file readme\readme_sdks.html under the Carbide.c++ installation directory |
|
91 for prerequisites. (ActivePerl-5.6.1.635, and at least one Symbian |
|
92 SDK needs to be installed.)</li> |
|
93 <li>The analysed Symbian SDKs must include epoc32\tools\elftran.exe executable which is used |
|
94 to extract dependency data from the component binaries in Symbian OS 9.x targets and petran.exe |
|
95 to extract data for Symbian OS versions prior to 9.x. |
|
96 </li> |
|
97 <li><i>Dumpsis.exe</i> executable is needed for decompiling SIS files. It |
|
98 is available from Symbian 9.2 onwards. However, this executable also works |
|
99 in 9.1 SDKs and can be copied to the epoc32\tools\ directory from a 9.2 SDK's |
|
100 directory.</li> |
|
101 </ul> |
|
102 |
|
103 <h3><a name="compissues"></a>Compatibility issues</h3> |
|
104 <ul> |
|
105 <li>The official Carbide.c++ version for this tool is v2.0 (which has been |
|
106 used for testing). The tool should otherwise work on top of v1.3, except for |
|
107 the <b>Viewing method call locations</b> functionality that works only on |
|
108 top of v2.0.</li> |
|
109 </ul> |
|
110 |
|
111 <h3><a name="issues"></a>Known issues</h3> |
|
112 <ul> |
|
113 <li>Method <span class="code">lastModified()</span> of Java class file does |
|
114 not always give correct results. For details, see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4860999"> |
|
115 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4860999</a>. Therefore, |
|
116 cache update check ignores all the time stamp differences that are exactly |
|
117 one hour greater than time stamps stored in the Dependency Explorer cache |
|
118 file. After the enhancement of allowing two second tolerance in component |
|
119 modification timestamps, the timestamp differences between 59 minutes 58 seconds |
|
120 and 1 hour 2 seconds are ignored when checking the need for a cache update. |
|
121 </li> |
|
122 <li>'SIS file analysis' feature cannot be used against targets that do not have any binaries |
|
123 i.e. in addition for having a SIS file one must have a target that has at least a single |
|
124 built component. Workaround for the issue is to build a single component e.g. into armv5 target, |
|
125 after which it is possible to run analysis against SIS file. It is possible to select any target |
|
126 type (armv5, gcce, ...) along with SIS file because it cannot be checked beforehand that |
|
127 the selected target is the same that is used to build SIS file from (which is of course |
|
128 what is wanted/needed for correct dependency analysis).</li> |
|
129 <li><b>Show Source File</b> functionality fails in case signature keyword order differs between cache data and map file data. |
|
130 For instance, if method signature in cache file is of format <code>Math::Frac(double&, double const&)</code> and signature |
|
131 in map file is of format <code>Math::Frac(double&, const double&)</code> matching function is not found from map file because |
|
132 the different keyword ordering. There is no workaround for this issue. |
|
133 </li> |
|
134 </ul> |
|
135 |
|
136 <h3>Version history</h3> |
|
137 <h5>Version 2.4.2 – 26th August 2009 and Version 2.4.3 – 14th October 2009</h5> |
|
138 <ul> |
|
139 <li>Fix: If you change the SDK and the build target selection when you already have a component under analysis, |
|
140 and you select a component that has the exactly same name than the previously analysed component, the dependency |
|
141 data is not reloaded for the new component. However, when you click nodes in the component tree, you will get function and |
|
142 component property data from the new SDK. The workaround is to select another component, and then reselect |
|
143 the component that was under analysis previously.</li> |
|
144 <li>Fix: If you in the <b>Add SIS files</b> dialog add two or more SIS files that contain components with exactly the same name, the loading |
|
145 of cache data fails right after you select a component under analysis. This happens because all SIS files are currently considered as a single build target that cannot have duplicate components. The workaround is to separately analyse those SIS files that have overlapping components. |
|
146 </li> |
|
147 </ul> |
|
148 |
|
149 |
|
150 <h5>Version 2.4.0 – 29th April 2009 and Version 2.4.1 – 18th June 2009</h5> |
|
151 <ul> |
|
152 <li>Feature: New <b>Build Target Selection</b> wizard page</li> |
|
153 <ul> |
|
154 <li>offers now more information on the shown targets (type, component count, and status text),</li> |
|
155 <li>filters out by default unusable targets (non-supported and empty ones),</li> |
|
156 <li>offers separate modes for selecting either Release (urel) or Debug targets (udeb), preventing mixing of them unintentionally, and</li> |
|
157 <li>offers access to the Add SIS files dialog instead of having a separate wizard page for adding SIS files.</li> |
|
158 </ul> |
|
159 <li>Feature: New <b>Add SIS files</b> dialog enables adding SIS files from multiple different folder locations</li>. |
|
160 <li>Change: <b>Component Selection</b> wizard page enhancements</li> |
|
161 <ul> |
|
162 <li>the page contains now more data columns (name, target, and data modified), and</li> |
|
163 <li>the search field does "contains string" search instead of earlier "starts with" search.</li> |
|
164 </ul> |
|
165 <li>Change: SDK Selection wizard usability has been improved by splitting it into two separate pages: </b>SDK Selection</b> and <b>Build Target Selection</b> wizard pages.</li> |
|
166 <li>Change: Other enhancements</li> |
|
167 <ul> |
|
168 <li>Toolbar and menu actions are now disabled whenever they cannot be used (except for the Update cache action in which disabling is not regarded as a viable solution because it requires hard disk polling).</li> |
|
169 <li>The <b>Cache Generation Options</b> wizard page shows now version number for the currently used RVCT toolchain.</li> |
|
170 <li>The executable <i>elftran.exe</i> is now used for Symbian OS 9.x targets for dumping dependency data from binaries.</li> |
|
171 <li>If after using the <b>Locating components</b> feature it is possible to resolve earlier missing imported function names from exported functions data, it is done automatically.</li> |
|
172 <li>The name column sort in the <b>Component List</b> view (opened after an Is Used By query) ignores case, that is, now all components starting with the same letter are listed one after the other regardless of the case.</li> |
|
173 </ul> |
|
174 <li>Fix: Bundled a new <i>appdep.exe</i> command-line program with the following fixes |
|
175 <ul> |
|
176 <li><i>appdep.exe</i> uses now <i>petran.exe</i> for GCC toolchain targets and <i>elftran.exe</i> for other targets.</li> |
|
177 <li><i>appdep.exe</i> parses now function data correctly also from libraries containing the hyphen character (-) in the library name (e.g. from library named <i>libdbus-utils{000a0000}[20010154].dll</i>).</li> |
|
178 </ul> |
|
179 <li>Fix: Fixed the issue causing the "Cache data re-load failed" error message. Also improved error logging in case a similar error occurs later on in a newer SDK environment not yet foreseen.</li> |
|
180 </ul> |
|
181 |
|
182 |
|
183 <h5>Version 2.3.0 – 20th February 2009</h5> |
|
184 <ul> |
|
185 <li>Change: Double-click in 'Component List' view sets selected component as new root component if 'Don't ask' checkbox |
|
186 is selected under 'Confirm set as new root action' group from preferences. Otherwise, it is confirmed if a user |
|
187 really wants to set clicked component as new root component.</li> |
|
188 <li>Fix: Fixed the following bug in Component Selection dialog: "When selecting component for the first time, if one scrolls down and tries |
|
189 to select a component, what actually gets selected is the component that would have got selected without scrolling down". |
|
190 The original behavior was implemented because the original wish was to be able to move between fields with tab, and after focus |
|
191 is moved to component list, it would be possible to "Finish" the component selection by just pressing enter key. After the bug fix |
|
192 this is no more possible. The workaround to mimic this with fixed implementation: start dialog, press tab key for activating |
|
193 first component, select right arrow key for component selection, and press enter key to finish the dialog.</li> |
|
194 <li>Fix: Fixed the following issue: "'Show Source File' functionality fails when multiple targets are selected simultaneously |
|
195 (e.g. when armv5+armv6 urel targets are selected)." Also other show source functionality related actions work |
|
196 now also when multiple targets are selected.</li> |
|
197 </ul> |
|
198 |
|
199 |
|
200 <h5>Version 2.2.2 – 24th October 2008, Version 2.2.3 – 7th January 2009, and Version 2.2.4 – 15th January 2009</h5> |
|
201 <ul> |
|
202 <li>Change: In <b>Viewing source file</b> feature added better heuristic for finding source file and correct function |
|
203 location from the opened source file.</li> |
|
204 </ul> |
|
205 |
|
206 <h5>Version 2.2.1 – 11th September 2008</h5> |
|
207 <ul> |
|
208 <li>Feature: <b>Searching for components and functions</b> feature enables searching |
|
209 of components, imported functions and exported functions from the currently |
|
210 selected target platform cache(s). Search results can be copied to clipboard |
|
211 for further processing, and double-clicking of a search result item opens |
|
212 the corresponding component as a new root component.</li> |
|
213 <li>Feature: <b>Locating components</b> feature enables showing also component tree |
|
214 for the components that are dependent upon based on generic component name |
|
215 (for example <i>hal.dll</i>). Those components do not exist as such in cache |
|
216 data but may have multiple concrete implementations (for example <i>hal.dll |
|
217 </i> has multiple implementations <i>_h4hrp_hal.dll, _template_hal.dll, _h2_hal.dl |
|
218 </i>l etc.). There are two options for locating components: |
|
219 <ul> |
|
220 <li>Locating manually from component list by selecting <b>Locate Component...</b> action from context menu (user-bind)</li> |
|
221 <li>Defining known component prefixes (for example <i>_h4hrp_</i>) in the preferences page and correct component instances are located automatically (auto-bind).</li> |
|
222 </ul> |
|
223 </li> |
|
224 <li>Feature: <b>Viewing source file</b> feature adds an action to Imported and Exported |
|
225 Functions tabs. The action opens up for viewing the source file that implements |
|
226 the currently selected function.</li> |
|
227 <li>Feature: <b>Viewing source file in project</b> feature adds an action to Imported |
|
228 and Exported Functions tabs. The action opens up for viewing the project and |
|
229 source file that implements the currently selected function.</li> |
|
230 <li>Feature: <b>Viewing method call locations</b> feature adds an action to Imported |
|
231 Functions tab. The action opens up the project for the component that uses |
|
232 the currently selected function, and searches for all instances where the |
|
233 selected function is called from the component.</li> |
|
234 <li>Change: Building of cache indices is a bit faster than in previous releases.</li> |
|
235 <li>Change: New data model for storing and handling cache data offers faster 'Is Used |
|
236 By...' queries than in previous releases.</li> |
|
237 </ul> |
|
238 |
|
239 |
|
240 <h5>Version 2.1.7 – 29th April 2008</h5> |
|
241 <ul> |
|
242 <li>Feature: Added support for selecting and using multiple target platforms. </li> |
|
243 <li>Feature: Added the <b>Find</b> dialog that enables finding components from the dependency tree based on a given name (or part of the component name). </li> |
|
244 <li>Feature: Added the possibility to analyse components from Symbian OS Installation (SIS) files together with an existing target platform. </li> |
|
245 <li>Feature: Added <b>Update Cache</b> action that enables quick cache update for the currently selected target platforms.</li> |
|
246 <li>Change: Allowing two second tolerance in component modification times before a |
|
247 component is regarded as changed and therefore, the cache file needs to be |
|
248 updated. This is because if the cache file has been generated with a different |
|
249 operating system, the time stamps may not be exactly same.</li> |
|
250 <li>Doc: Added support for context-sensitive help.</li> |
|
251 </ul> |
|
252 |
|
253 <div id="footer"> |
|
254 Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies).<br> |
|
255 All rights reserved. <br> |
|
256 This component and the accompanying materials are made available <br> |
|
257 under the terms of "Eclipse Public License v1.0" <br> |
|
258 which accompanies this distribution and is available <br> |
|
259 at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. |
|
260 <br><br> |
|
261 Initial Contributors:<br> |
|
262 Nokia Corporation - initial contribution |
|
263 <br><br> |
|
264 Contributors:<br> |
|
265 Description: |
|
266 |
|
267 </div> |
|
268 </body> |
|
269 </html> |