Release note
AnalyzeTool Carbide.c++ Extension – Version 1.10.0
Released 30th June 2010
Product description
AnalyzeTool is a dynamic test tool that is used for testing Symbian software
for memory and resource leaks and pinpointing the leaks from the source
code.
For a general questions about the tool Dynamic
Analysis Tools discussion forum can be used.
For more specific questions AnalyzeTool has e-mail list AnalyzeTool_Support@lists.research.nokia.com
to contact project team and other users directly.
Main features
- UI for activating a memory leak analysis.
- UI for seeing results of a memory leak analysis.
- Pinpoints memory leaks from target hardware to source code lines.
- Discovers resource leaks from process.
- Command line interface and Carbide.c++ Extension.
What's new
- Feature: Support added for new trace format.
- Feature: New output formats added: Output to trace and Output to file
system.
- Feature: Tread ID is shown in Properties for all allocations,
deallocations and leaks.
- Feature: Added Graph settings dialog for setting thresholds for
allocations shown in the graph view.
- Feature: Real-time tracing re-factoring.
- Feature: Version checks and notification dialogs added for the following:
for the old trace format containing the old PCSS prefix; for supported
trace format version; for supported command line engine and command line
engine availability; for unknown tags in traces; for mismatch between
AnalyzeTool binaries in the device and AnalyzeTool headers in the SDK.
Installation notes
- Update details for version 1.10.0 here
System requirements
Basic Requirements:
- Windows XP.
- S60 5.x (R&D SW).
- ARMV5 or GCCE compiler.
- TraceViewer Carbide.c++ Extension (version 1.0.1+).
Additional Requirements:
- TraceViewer connection is required for collecting real time data from
target hardware to PC.
Compatibility issues
- Not compatible with versions 1.7.3 or older of AnalyzeTool (any
component).
- AnalyzeTool iby files (ROM image creation) at S60 5.0 SDK and higher are
not compatible with older than week 16/2009 release of SDK.
- Kernel code analysis not supported.
Known issues
- Note: If you are updating AnalyzeTool from the version older than
1.5.0, AnalyzeTool uses a different folder structure compared to previous
versions. Therefore it is essential that you check that there are no header
files in the folder \epoc32\include\applications\analyzetool or
\epoc32\include\analyzetool.
- Tested processes must be closed successfully, meaning that they cannot be
panicked or exited abnormally (will cause also a lot of false memory
leaks).
- Handle leaks in subtest shows subtraction of open handles within the
subtest.
- The subtesting feature cannot be used with internal data gathering
mode.
- Memory leaks from ECOM plugins are reported, but not pinpointed to code
lines inside plugin.
- Pinpointing memory leaks from urel binaries shows only function
names.
Version history
Version 1.9.0 - 21st April 2010
- Feature: The version of the dbghelp.dll library provided by Windows is
checked when user starts tracing. If the version is not at least 6.3.0.0, a
confirmation dialog will appear with instructions on how to update a later
version.
- Fix: Substantially reduced the graph memory usage in the callstack area.
This allowed removing the option for disabling the graph feature in the
Preferences page.
- Fix: Cleaning dialog functionality has been fixed, the graph is no longer
cleaned if user selects No.
- Fix: Warning "No project selected" is no longer mistakenly displayed if
the project is selected in Navigator.
Version 1.8.1 - 14th January 2010
- Feature: Add linefeeds to CLE generated XML report
- Fix: Support for hooking test components (abld).
- Fix: Error reading raptor makefile(line lenght over 16k)
- Fix: Data file saved to wrong location on C drive.
- Fix: Graph pinpointing prevents further project builds.
- Fix: Graph memory usage improvements and preferences page feature for
disabling graph features.
- Fix: Configuration UI crashes if can't connect to storage server
Version 1.8.0 – 12th December 2009
- Feature: Memory usage shown as graph.
Version 1.7.4 – 4th November 2009
- Feature: Third data gathering mode which is simple and fast.
- Feature: Support for specifying call stack size(s).
- Feature: Button to open preferences.
- Feature: New error dialogs in Carbide extension.
- Feature: Extension version number shown in AnalyzeTool view.
- Fix: Inform user in build phase that kernel mode is not
supported/hooked.
- Fix: Version conflict not shown to user.
- Fix: Selecting leak from sub test does not give call stack info.
Version 1.7.3 – 1st October 2009
- Fix: Support for define multiple symbol files
- Fix: Carbide extension builds project although the selected target is not
supported.
Version in 1.7.2 – 3th September 2009
- Fix: Memory leak information copied to clipboard.
Version in 1.7.1 – 19th August 2009
- Fix: Decrease extension memory usage when creating results.
- Fix: Device data file input should not accept path.
Version in 1.7.0 – 25th June 2009
- Feature: "-debug" passed as build argument in Carbide.
- Feature: Carbide.c++ AnalyzeTool building of a QT project.
- Feature: Refresh button which makes results again.
- Feature: AnalyzeTool Carbide.c++ Extension can be used to visualize
results for emulator/simulator memory leaks automatically.
- Fix: Improve parsing speed of addresses.
- Fix: Verbose output renders AnalyzeTool unusable slow.
- Fix: Usability Improvement: Console view should be opened after building
done.
Version in 1.6.0 – 20th April 2009
- Feature: Rom symbol file can be defined in Carbide Extension
preferences.
- Feature: AnalyzeTool memory leak results can be cleared from view.
- Feature: Number of max callstack items increased to 40.
- Feature: On the fly call stack filtering improved.
- Feature: "PROCESS_END x ABNORMAL" are now printed also when internal data
gathering mode is used.
- Feature: Supports for pinpointing codelines from GCCE binaries.
- Feature: Pinpoint memory leaks to code lines also in urel builds.
- Feature: Cheat sheet for AnalyzeTool created.
- Feature: Carbide extension checks atool.exe version before using it.
- Feature: atool.exe version number showed in AnalyzeTool preference
page.
- Feature: AnalyzeTool "core" version number is displayed in Carbide
preferences.
- Feature: Added support for pinpointing codelines from static libraries in
ARMV5 platform.
- Fix: Pinpointing works also to dlls in emulator environment.
- Fix: Clear AnalyzeTool changes runs reallyclean also.
- Fix: Error message is displayed when user analysis invalid data.
- Fix: Cancelling build enabled during pre-builder.
- Fix: Analysis progress bar now progresses.
Version in 1.5.2 – 27th March 2009
- Feature: AnalyzeTool to work also in emulator.
- Feature: AnalyzeTool Carbide extension can be used without Traceviewer
Extension.
- Fix: Running atool -c in directory where only empty atool_temp directory
exists will not delete atool_temp directory.
- Fix: In analyze report pinpointed memory
- leak count is always zero when using sbs v.2, in logging levels 1 &
2.
- Fix: Use of raptor build variables leads to incorrect listing file name
with certain types.
- Fix: AnalyzeTool can share existing TraceViewer connection.
- Fix: Unnecessary "Can not analyze" dialog is no longer displayed after
the project is built with AnalyzeTool.
- Fix: Needed files for AnalyzeTool hooking are also checked for
winscw.
- Fix: Analyze Tool Pre- and Post-Build Errors are added to Problems
View.
- Fix: AnalyzeTool debug logging improved.
- Fix: Start tracing icon changed.
- Fix: If SDK prefs not ok in Carbide, atool gives error: missing libraries
from SDK.
- Fix: Crash when trying to navigate to source location.
- Fix: Emulator pinpoints to wrong cpp file.
- Fix: Progress monitor is shown while starting the TraceViewer
connection.
- Fix: Command line tool, "atool.exe", is bundled into the Carbide
extension.
- Fix: unnecessary copying of trace file removed from Carbide.
- Fix: Disable unnecessary AnalyzeTool buttons when trace is started.
Version 1.5.1 – 19th March 2009
- Feature: Atool version is checked when hooked application is started.
- Feature: Added support for pinpointing codelines from static libraries in
ARMV5 platform
- Fix: Abnormal process ends not anymore showed for non-AnalyzeTool
processes.
Version 1.5.0 – 19th February 2009
- Feature: AnalyzeTool to work also in emulator.
- Feature: AnalyzeTool Carbide extension can be used without Traceviewer
Extension.
- Fix: Running atool -c in directory where only empty atool_temp directory
exists will not delete atool_temp directory.
- Fix: In analyze report pinpointed memory leak count is always zero when
using sbs v.2, in logging levels 1 & 2.
- Fix: Use of raptor build variables leads to incorrect listing file name
with certain types.
- Fix: AnalyzeTool can share existing TraceViewer connection.
- Fix: Unnecessary "Can not analyze" dialog is no longer displayed after
the project is built with AnalyzeTool.
- Fix: Needed files for AnalyzeTool hooking are also checked for
winscw.
- Fix: Analyze Tool Pre- and Post-Build Errors are added to Problems
View.
- Fix: AnalyzeTool debug logging improved.
- Fix: Start tracing icon changed.
- Fix: If SDK prefs not ok in Carbide, atool gives error: missing libraries
from SDK.
- Fix: Crash when trying to navigate to source location.
- Fix: Emulator pinpoints to wrong cpp file.
- Fix: Progress monitor is shown while starting the TraceViewer
connection.
- Fix: Command line tool, "atool.exe", is bundled into the Carbide
extension.
- Fix: unnecessary copying of trace file removed from Carbide.
- Fix: Disable unnecessary AnalyzeTool buttons when trace is started.
Version 1.4.1 – 19th December 2008
- Change: Carbide Extension could show which modules are built with
atool.
- Change: Atool supports Symbian build system version 2 (SBS v.2).
- Change: Subtest memory analysis summary should be separated inside to
subtest information.
- Change: Carbide extension to ask user "to continue or abort compilation"
if target is not supported.
- Change: AnalyzeTool window buttons improvement.
- Change: History of files opened added to open file button.
- Change: Verbose configuration option for Carbide.c++.
- Change: Results include processes udeb/urel info.
- Fix: Carbide Extension cannot find the .cpp file where memoryleak is
pinpointed.
- Fix: Usability Improvement: Preferences page and Logging mode.
- Fix: Number of leaks in subtest is displayed in report.
- Fix: Support analysing data files without /epoc32/build content or from
sub folder where build was made.
- Fix: Atool will not show the correct name of subtest if it contains
spaces.
- Fix: Compiling a project deletes logging data file from atool_temp.
- Fix: Temporary file left to output directory in atool.exe analyze.
- Fix: AnalyzeTool window not updated after current project change.
- Fix: Number of memory leaks info should be updated after report detail
level change.
- Fix: Project only specifies one MMP but all the MMP files are built.
- Fix: Changing detail level of report clears call stack window.
- Fix: AnalyzeTool post-builder is not working with variants on
Carbide.c++.
- Fix: "Start Trace" clears results from all open projects.
- Fix: Pinpointing from urel module does not work from Carbide.c++.
Version 1.4.0 – 12th December 2008
- Change: History of files opened added to open file button.
- Change: Verbose configuration option for Carbide.c++.
- Change: Results include processes udeb/urel info.
- Fix: Project only specifies one MMP but all the mmp files are built.
- Fix: Changing detail level of report clears callstack window.
- Fix: AnalyzeTool post-builder is not working with variants on
Carbide.c++.
- Fix: "Start Trace" clears results from all open projects.
- Fix: Pinpointing from urel module does not work from Carbide.
Version 1.3.3 – 27th November 2008
- Change: History of files opened added to open file button.
- Change: Verbose configuration option for Carbide.c++.
- Change: Results include processes udeb/urel info.
- Fix: Project only specifies one MMP but all the mmp files are built.
- Fix: Changing detail level of report clears callstack window.
- Fix: AnalyzeTool post-builder is not working with variants on
Carbide.c++.
- Fix: "Start Trace" clears results from all open projects.
- Fix: Pinpointing from urel module does not work from Carbide.
Version 1.3.2 – 13th November 2008
- Change: History of files opened added to open file button.
- Change: Verbose configuration option for Carbide.c++.
- Change: Results include processes udeb/urel info.
- Fix: Project only specifies one MMP but all the mmp files are built.
- Fix: Changing detail level of report clears callstack window.
- Fix: AnalyzeTool post-builder is not working with variants on
Carbide.c++.
- Fix: "Start Trace" clears results from all open projects.
- Fix: Pinpointing from urel module does not work from Carbide.
Version 1.3.1 – 30th October 2008
- Change: - A single process start - end, should not be a test run.
- Change: Carbide.c++ Extension shows ABNORMAL text when system exception
happens in the phone.
- Change: Carbide.c++ Extension could filter memory leaks which does not
contain any call stack.
- Change: MemoryHook reports PROCESS_END with ABNORMAL tag.
- Change: atool -c to undo mmp change.
- Change: Modules with read only mmp files can be hooked.
- Change: Print S60 logging filename if not given.
- Fix: Multiple subtests within test run show only one subtest.
- Fix: Logging levels 1 and 3 produce same results when using UREL
target.
- Fix: Memoryhook prints PROCESS_END when child threads are killed.
- Fix: Atool reports runs from irrelevant PROCESS_ENDS.
- Fix: No error message data file can not be opened.
- Fix: NPE when using the Analyze View in Carbide 2.0.
- Fix: "Error 1 make[1]: *** Waiting for unfinished jobs...." error is
displayed during the AnalyzeTool build.
- Fix: run abld reallyclean instead of abld clean.
- Fix: AnalyzeTool builder "is shown active" after importing a deleted
project again to Carbide.c++.
- Fix: Progress information: Executing AnalyzeTool, Cannot send to
background.
- Fix: Devlon52 or other ARMV5 based variants cannot be built from
Carbide.
Version 1.3.0 – 23rd October 2008
- Change: A single process start - end, should not be a test run.
- Change: Carbide.c++ Extension shows ABNORMAL text when system exception
happens in the phone.
- Change: Carbide.c++ Extension could filter memory leaks which does not
contain any call stack.
- Change: MemoryHook reports PROCESS_END with ABNORMAL tag.
- Change: atool -c to undo mmp change.
- Change: Modules with read only mmp files can be hooked.
- Change: Print S60 logging filename if not given.
- Fix: Multiple subtests within test run show only one subtest.
- Fix: Logging levels 1 and 3 produce same results when using UREL
target.
- Fix: Memoryhook prints PROCESS_END when child threads are killed.
- Fix: Atool reports runs from irrelevant PROCESS_ENDS.
- Fix: No error message data file can not be opened.
- Fix: NPE when using the Analyze View in Carbide 2.0.
Version 1.2.1 – 2nd October 2008
- Change: AnalyzeTool building method changed: AnalyzeTool Carbide.c++
Extension uses now the Carbide builder.
Version 1.2.0 – 18th September 2008
- Change: AnalyzeTool building method changed: AnalyzeTool Carbide.c++
Extension uses now the Carbide builder.
Version 1.1.2 – 21th August 2008
- Fix: Launching Carbide.c++ generates error message to the atool error
log.
- Fix: 'Module not build with AnalyzeTool' is still displayed after
AnalyzeTool build.
Version 1.1.1 – 7th August 2008
- Fix: Command line tool can not handle project where two MMP-files are in
same directory.
Version 1.1.0 – 10th July 2008
- Feature: Trace data can be saved to a file.
- Feature: Cancel logging from ConfigUI feature.
- Fix: Redundant handle leak information.
Version 1.0.0 – 7th July 2008
The first version.