srcanaapps/depexplorer/com.nokia.s60tools.appdep.help/html/release_notes.htm
changeset 0 a02c979e8dfd
equal deleted inserted replaced
-1:000000000000 0:a02c979e8dfd
       
     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 &ndash; 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 &ndash; 26th August 2009 and Version 2.4.3 &ndash; 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 &ndash; 29th April 2009 and Version 2.4.1 &ndash; 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 &ndash; 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 &ndash; 24th October 2008, Version 2.2.3 &ndash; 7th January 2009, and Version 2.2.4 &ndash; 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 &ndash; 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 &ndash; 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 &copy; 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>