diff -r 5855275147bd -r 3c007ddaa364 core/com.nokia.carbide.cpp.doc.user/html/release_notes.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/release_notes.htm Thu Apr 02 16:02:53 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/release_notes.htm Thu Apr 02 17:00:26 2009 -0500 @@ -1,345 +1,349 @@ - - - - - - Carbide.c++ Release Notes - - - - - - - -

Carbide.c++ Release Notes 2.0.3

-

The Carbide.c++ is a comprehensive development tool suite for Symbian OS that is based on the Eclipse framework. The C++ Development Toolkit (CDT), provides the foundation for project and build tools management, as well as the primary interface for the debugger to communicate with the IDE.

-

This is a collection of important information concerning last-minute - changes and other topics that deserve special attention. Please - read these notes carefully before using the Carbide tools so you - understand the current limitations and workarounds for known - issues.

- -

Once you have read the release notes, we recommend you follow the HelloWorld tutorial for -a quick introduction to Carbide.c++.

-

WARNING: -Updating the CDT feature in Carbide.c++/Eclipse will wipe out our -changes making the tools unusable!

-

See the Tips & tricks page for more helpful information.

-

What's New in 2.0.3

-

The following features for Symbian OS development are provided within Carbide.c++:

- -

2.0.0

- - -

1.3.1

- -
-

For example, the concept of a "main executable" had been replaced with the Executables tab where a list of executables targeted for debugging were shown. This UI change brings the launch configurations into sync with that change by removing the Main Executable from the Main tab. The Main tab will only show a process to launch and not executables targeted for debugging.

-

Another example, the Arguments field used by the run-mode TRK configurations has been moved to the Arguments tab to match the Emulator configuration.

-
- -

1.3.0

- -

User Notes

- -

Fixed bugs and workarounds

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Summary
Workaround
CRITICAL ITEMS
WARNING: The C/C++ Files view is a view of the actual FILE SYSTEM, so anything deleted in this view is also deleted from the file system.

When deleting projects from the workspace please be sure you read the dialog that describes the files that will be deleted. Select the "Do not delete files" option to keep them in the file system.

Carbide.c++ terminates on startup on low memory machines

Machines with less than 1GB of memory (or machines runing in a virtual machine) may experience start-up problems. Error dialog typically contains:

-

JVM terminated, Return code = -1

-

or when running from eclipse.exe:

-

Error occurred during initialization of VM Could not reserve enough space for object heap

-

The solution is to edit your Carbide.c++.1.x.ini (or eclipse.ini if launching Eclipsec.exe) and use a smaller value for the -Xmx paramater to the JVM.

-

NOTE In this scenario, Carbide.c++ performance may degrade.

[4587] Unable to build GCCE targets on Vista because of makefile error.There are known tooling issues when building for the GCCE platform under Windows Vista that can prevent a GCCE build from occurring. If you want to build for GCCE under S60 and UIQ you will need to manually update some files under \epoc32\tools\. See the article Windows Vista for up-to-date workaround information.
-
IDE
Debugging a project on a machine running Vista via "Remote Desktop Connection" does not work. Workaround: Switch the project to a machine running Windows XP in order to use "Remote Desktop Connection".
[6414] Using Mylyn causes MMP files to be spellchecked and common terms like EXE, CPP, and EUSER.LIB flagged as misspellings in editor views

Workaround: Remove Mylyn from the Carbide installation.

The C/C++ Editor will only work properly with files inside project source folders or on include paths. Source folders are configured in the project settings on the C/C++ Project Paths > Source tab. When creating new folders, use File > New > Source Folder. This will add a folder and mark it a source folder. If you need to import copies of existing files (File > Import > File System) or link to existing sources (File > New > Folder with "Link to folder in file system"), then a normal folder will be created, not a source folder. If the folder is not underneath an existing source folder in the project, you will need to manually mark it as a source folder using the C/C++ Project Paths > Source tab.
[3803] Occasionally a module is not expandable immediately after it's been imported in a project. Workaround: Simply close and reopen the project using the context menu in the Project view.
[3010] Bad synchronization in MMP editor for Linker definition file. The templates for Symbian DLL projects do not define a DEFFILE statement, for the case where a DEF file is not needed or imports are not frozen. If you edit the DEF filename through the MMP editor, it is not automatically conditionalized for the current target. If you wish to define target-specific DEF file names in the MMP editor, manually insert #ifdef...#endif blocks, or first uncomment the #ifdef...#endif block from the template, so that target-specific filenames will be properly updated.
[2784] Changes to contents of #includes of bld.inf and MMP files are not performed -- instead, changes involving reordering or deleting go to the main file. Workaround: if making changes to nests of included files, either manually edit the #included files, or if using MMP or bld.inf editors, look for changes in the main bld.inf or MMP file and manually fix them up.
Indexer coloring for problemsThe problems marker for the indexer occasionally reports both false negative and false positive results (see indexer bugs below). The problems color by default is set to a dark gray to suggest a possible ambiguous state of the browser. You can change this color under the global preferences page: Syntax Coloring.
[4932] Indexer: Problems with templates C++ template navigation is not fully supported yet. Problem areas are notable when templates are declared outside the file they are used and when functions or macros use template declarations.
[4937, 4941] Indexer: Problems with macro navigation Browsing to macro declarations is problematic when macros are used within function call parameters as well as multi-line macro declarations.
[4931] Indexer does not track files outside the workspace. If you make changes to files outside the workspace the indexer will not re-index these files (e.g. .rsg files under the SDK). When in doubt, re-index your project.
[4906] Indexer: const parameters get lost in function prototypes occasionallyThe indexer sometimes loses the parameter of function types for const objects. In these cases code navigation will not work.
Target type macros (__EXE__, __DLL__, etc) are not always defined for the CDT indexer.The CDT indexer macros are build configuration specific. There could be multiple mmp's for a build configuration, each with a different target type macro. Therefore the target type macro is only added if there is only one mmp file, or if all of the mmp's have the same target type macro. You can manually add the macro if you wish using the C/C++ Include Paths and Symbols project property page.
The C/C++ Projects and Symbian Project Navigator views do not always refresh with changes in the file system. If you are in doubt about the contents select the folder in question, then hit F5 to refresh the directory from the file system.
Synergy 6.3 Installations will -always crash Eclipse file navigation dialogs - The solution for this is -to un-register cmexplorer.dll then reboot your machine. Un-registering -this feature will only effect users that use Synergy integration to -Windows Explorer. This issue is known to be fixed with Synergy 6.4.The un-register command is:
-
- regsvr32 /u -<path to dll>cmexplorer.dll  
-
-
To re-register, the command is:
-
- regsvr32 <path to -dll>cmexplorer.dll
-
BUILD/IMPORTER
[3804] My application fails to start the first time I try to debug it using TRK. Workaround: Launch the debug session again.
[3809] IMPORTANT: You cannot import two projects into Carbide that have the same "Root Directory". If a .project file already exists in this location you either need to shorten or lengthen the "Root Directory" or delete the other project in the same location and try to import again.

Emulator (WINSCW) command line builds

If you want to build for the emulator from the command line, run the tool from the start menu shortcut: Configure environment for WINSCW command line builds. It will setup the necessary environment variables for the x86 compiler. You do not need to do this if you will only be building emulator targets from the IDE.

Working with a workspace on one drive and a source base on another can build some items in the wrong location. Workaround: keep your source base and Carbide workspace on the same drive. Because some scripts work off an implicit root (e.g. \epoc32\include\) and don't support drive specs on paths there can be outputs to unexpected locations.
When creating/importing projects the sources and SDK must be on the same drive.

For example, you cannot create a project on the C: drive and build with an SDK whose EPOCROOT is M:\.

-

This is due to many of the internal SDK tools using an implicit working drive to calculate paths (e.g. \epoc32\tools).

Files that include non-ascii -character types will not compile correctly with GCCE if the file type -is not saved as UTF-8. The workaround is to change the -text file encoding in the global preferences at Windows > -Preferences, then open the General > Editors panel in the -Preferences window. Look for the Text file encoding option as shown -below. -

Build system does not detect static library dependenciesThe Symbian OS build system did not detect static library changes prior to 9.2. They have release a patch for this here.
-
DEBUGGER
Unable to install TRK on flashed devices Workaround: Some devices contain images that won't allow TRK to be installed, specifically the Lumiere PR 1.0 and PR 1.1 releases, especially if the C drive image was flashed. To install TRK on these devices you must format the C drive to remove the old flash image, then reflash using an image containing TRK.
[3778,4658] Some variables show "Invalid format" in the Variable view. No Workaround.
Symbian OS Data view caveats.

During crash debugger launch session, you can examine Symbian OS data (processes, threads, chunks etc) in Symbian OS Data view. But:

-

(1) You must have Symbian kernel debugger (usually Kdebug.dll) built in the image.

-

(2) As getting the OS data from crash debugger is time consuming (takes more than one minute in our test), auto-refresh of the data in Symbian OS Data view is disabled for crash debugger. You need to click the "Refresh" button to do a manual refreshing.

[2616] If you cast a variable to another type the details pane will still show the original typeNo Workaround.
[2960] The thread run control icons (step over, step in, run) are sometimes disabled after stepping Click on the top frame of the suspended thread in the Debug view
Debugging without restarting the emulator.

If you modify any resource files resulting RSC files cannot be rebuilt, however CPP source files can. There are a couple of issues you should be aware of.

-

1) When starting a build, the debugger releases all file handles to the debugged application. Sometimes the emulator is slow to release its own handles to files after quitting an application. If a file is still locked on a rebuild make sure the application is closed (not the emulator itself), wait a few seconds, and try again.

-

2) When setting breakpoints in source files that have been recompiled they do not always resolve correctly while the emulator is running. The best option is to clear the breakpoints in any modified file and set them again.

[2716] [Variable View] - Sometimes when -stepping through a loop -variables do not refresh.If you have refresh problems -with variables, put focus on the variables pane, then off the pane and -back onto the variable pane.
[1928] [Register View] Casting -Registers to any type does not work.Not currently supported.
The value of some uninitialized -variables is shown as -"Unknown error ...."When -variables are in scope the proper value will be displayed.
[548] [Variable Scoping] - Multiple -variables with the same name -in subscopes are not displayed properly.Give variables unique names.
[971] Watchpoints cannot be set on -global variables declared in header files. No workaround.
[1959] Expressions cannot be disabled.No workaround.
[Add Global Variables] Not all -global namespace variables are displayed or duplicate entries sometimes -appear. No workaround.
-

Technical support

-

The following support services are available:

- - - - + + + + + + Carbide.c++ Release Notes + + + + + + + +

Carbide.c++ Release Notes 2.0.4

+

The Carbide.c++ is a comprehensive development tool suite for Symbian OS that is based on the Eclipse framework. The C++ Development Toolkit (CDT), provides the foundation for project and build tools management, as well as the primary interface for the debugger to communicate with the IDE.

+

This is a collection of important information concerning last-minute + changes and other topics that deserve special attention. Please + read these notes carefully before using the Carbide tools so you + understand the current limitations and workarounds for known + issues.

+ +

Once you have read the release notes, we recommend you follow the HelloWorld tutorial for +a quick introduction to Carbide.c++.

+

WARNING: +Updating the CDT feature in Carbide.c++/Eclipse will wipe out our +changes making the tools unusable!

+

See the Tips & tricks page for more helpful information.

+

What's New in 2.0.4

+

The following features for Symbian OS development are provided within Carbide.c++:

+ +

2.0.3

+ +

2.0.0

+ + +

1.3.1

+ +
+

For example, the concept of a "main executable" had been replaced with the Executables tab where a list of executables targeted for debugging were shown. This UI change brings the launch configurations into sync with that change by removing the Main Executable from the Main tab. The Main tab will only show a process to launch and not executables targeted for debugging.

+

Another example, the Arguments field used by the run-mode TRK configurations has been moved to the Arguments tab to match the Emulator configuration.

+
+ +

1.3.0

+ +

User Notes

+ +

Fixed bugs and workarounds

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Summary
Workaround
CRITICAL ITEMS
WARNING: The C/C++ Files view is a view of the actual FILE SYSTEM, so anything deleted in this view is also deleted from the file system.

When deleting projects from the workspace please be sure you read the dialog that describes the files that will be deleted. Select the "Do not delete files" option to keep them in the file system.

Carbide.c++ terminates on startup on low memory machines

Machines with less than 1GB of memory (or machines runing in a virtual machine) may experience start-up problems. Error dialog typically contains:

+

JVM terminated, Return code = -1

+

or when running from eclipse.exe:

+

Error occurred during initialization of VM Could not reserve enough space for object heap

+

The solution is to edit your Carbide.c++.1.x.ini (or eclipse.ini if launching Eclipsec.exe) and use a smaller value for the -Xmx paramater to the JVM.

+

NOTE In this scenario, Carbide.c++ performance may degrade.

[4587] Unable to build GCCE targets on Vista because of makefile error.There are known tooling issues when building for the GCCE platform under Windows Vista that can prevent a GCCE build from occurring. If you want to build for GCCE under S60 and UIQ you will need to manually update some files under \epoc32\tools\. See the article Windows Vista for up-to-date workaround information.
+
IDE
Debugging a project on a machine running Vista via "Remote Desktop Connection" does not work. Workaround: Switch the project to a machine running Windows XP in order to use "Remote Desktop Connection".
[6414] Using Mylyn causes MMP files to be spellchecked and common terms like EXE, CPP, and EUSER.LIB flagged as misspellings in editor views

Workaround: Remove Mylyn from the Carbide installation.

The C/C++ Editor will only work properly with files inside project source folders or on include paths. Source folders are configured in the project settings on the C/C++ Project Paths > Source tab. When creating new folders, use File > New > Source Folder. This will add a folder and mark it a source folder. If you need to import copies of existing files (File > Import > File System) or link to existing sources (File > New > Folder with "Link to folder in file system"), then a normal folder will be created, not a source folder. If the folder is not underneath an existing source folder in the project, you will need to manually mark it as a source folder using the C/C++ Project Paths > Source tab.
[3803] Occasionally a module is not expandable immediately after it's been imported in a project. Workaround: Simply close and reopen the project using the context menu in the Project view.
[3010] Bad synchronization in MMP editor for Linker definition file. The templates for Symbian DLL projects do not define a DEFFILE statement, for the case where a DEF file is not needed or imports are not frozen. If you edit the DEF filename through the MMP editor, it is not automatically conditionalized for the current target. If you wish to define target-specific DEF file names in the MMP editor, manually insert #ifdef...#endif blocks, or first uncomment the #ifdef...#endif block from the template, so that target-specific filenames will be properly updated.
[2784] Changes to contents of #includes of bld.inf and MMP files are not performed -- instead, changes involving reordering or deleting go to the main file. Workaround: if making changes to nests of included files, either manually edit the #included files, or if using MMP or bld.inf editors, look for changes in the main bld.inf or MMP file and manually fix them up.
Indexer coloring for problemsThe problems marker for the indexer occasionally reports both false negative and false positive results (see indexer bugs below). The problems color by default is set to a dark gray to suggest a possible ambiguous state of the browser. You can change this color under the global preferences page: Syntax Coloring.
[4932] Indexer: Problems with templates C++ template navigation is not fully supported yet. Problem areas are notable when templates are declared outside the file they are used and when functions or macros use template declarations.
[4937, 4941] Indexer: Problems with macro navigation Browsing to macro declarations is problematic when macros are used within function call parameters as well as multi-line macro declarations.
[4931] Indexer does not track files outside the workspace. If you make changes to files outside the workspace the indexer will not re-index these files (e.g. .rsg files under the SDK). When in doubt, re-index your project.
[4906] Indexer: const parameters get lost in function prototypes occasionallyThe indexer sometimes loses the parameter of function types for const objects. In these cases code navigation will not work.
Target type macros (__EXE__, __DLL__, etc) are not always defined for the CDT indexer.The CDT indexer macros are build configuration specific. There could be multiple mmp's for a build configuration, each with a different target type macro. Therefore the target type macro is only added if there is only one mmp file, or if all of the mmp's have the same target type macro. You can manually add the macro if you wish using the C/C++ Include Paths and Symbols project property page.
The C/C++ Projects and Symbian Project Navigator views do not always refresh with changes in the file system. If you are in doubt about the contents select the folder in question, then hit F5 to refresh the directory from the file system.
Synergy 6.3 Installations will +always crash Eclipse file navigation dialogs - The solution for this is +to un-register cmexplorer.dll then reboot your machine. Un-registering +this feature will only effect users that use Synergy integration to +Windows Explorer. This issue is known to be fixed with Synergy 6.4.The un-register command is:
+
+ regsvr32 /u +<path to dll>cmexplorer.dll  
+
+
To re-register, the command is:
+
+ regsvr32 <path to +dll>cmexplorer.dll
+
BUILD/IMPORTER
[3804] My application fails to start the first time I try to debug it using TRK. Workaround: Launch the debug session again.
[3809] IMPORTANT: You cannot import two projects into Carbide that have the same "Root Directory". If a .project file already exists in this location you either need to shorten or lengthen the "Root Directory" or delete the other project in the same location and try to import again.

Emulator (WINSCW) command line builds

If you want to build for the emulator from the command line, run the tool from the start menu shortcut: Configure environment for WINSCW command line builds. It will setup the necessary environment variables for the x86 compiler. You do not need to do this if you will only be building emulator targets from the IDE.

Working with a workspace on one drive and a source base on another can build some items in the wrong location. Workaround: keep your source base and Carbide workspace on the same drive. Because some scripts work off an implicit root (e.g. \epoc32\include\) and don't support drive specs on paths there can be outputs to unexpected locations.
When creating/importing projects the sources and SDK must be on the same drive.

For example, you cannot create a project on the C: drive and build with an SDK whose EPOCROOT is M:\.

+

This is due to many of the internal SDK tools using an implicit working drive to calculate paths (e.g. \epoc32\tools).

Files that include non-ascii +character types will not compile correctly with GCCE if the file type +is not saved as UTF-8. The workaround is to change the +text file encoding in the global preferences at Windows > +Preferences, then open the General > Editors panel in the +Preferences window. Look for the Text file encoding option as shown +below. +

Build system does not detect static library dependenciesThe Symbian OS build system did not detect static library changes prior to 9.2. They have release a patch for this here.
+
DEBUGGER
Unable to install TRK on flashed devices Workaround: Some devices contain images that won't allow TRK to be installed, specifically the Lumiere PR 1.0 and PR 1.1 releases, especially if the C drive image was flashed. To install TRK on these devices you must format the C drive to remove the old flash image, then reflash using an image containing TRK.
[3778,4658] Some variables show "Invalid format" in the Variable view. No Workaround.
Symbian OS Data view caveats.

During crash debugger launch session, you can examine Symbian OS data (processes, threads, chunks etc) in Symbian OS Data view. But:

+

(1) You must have Symbian kernel debugger (usually Kdebug.dll) built in the image.

+

(2) As getting the OS data from crash debugger is time consuming (takes more than one minute in our test), auto-refresh of the data in Symbian OS Data view is disabled for crash debugger. You need to click the "Refresh" button to do a manual refreshing.

[2616] If you cast a variable to another type the details pane will still show the original typeNo Workaround.
[2960] The thread run control icons (step over, step in, run) are sometimes disabled after stepping Click on the top frame of the suspended thread in the Debug view
Debugging without restarting the emulator.

If you modify any resource files resulting RSC files cannot be rebuilt, however CPP source files can. There are a couple of issues you should be aware of.

+

1) When starting a build, the debugger releases all file handles to the debugged application. Sometimes the emulator is slow to release its own handles to files after quitting an application. If a file is still locked on a rebuild make sure the application is closed (not the emulator itself), wait a few seconds, and try again.

+

2) When setting breakpoints in source files that have been recompiled they do not always resolve correctly while the emulator is running. The best option is to clear the breakpoints in any modified file and set them again.

[2716] [Variable View] - Sometimes when +stepping through a loop +variables do not refresh.If you have refresh problems +with variables, put focus on the variables pane, then off the pane and +back onto the variable pane.
[1928] [Register View] Casting +Registers to any type does not work.Not currently supported.
The value of some uninitialized +variables is shown as +"Unknown error ...."When +variables are in scope the proper value will be displayed.
[548] [Variable Scoping] - Multiple +variables with the same name +in subscopes are not displayed properly.Give variables unique names.
[971] Watchpoints cannot be set on +global variables declared in header files. No workaround.
[1959] Expressions cannot be disabled.No workaround.
[Add Global Variables] Not all +global namespace variables are displayed or duplicate entries sometimes +appear. No workaround.
+

Technical support

+

The following support services are available:

+ + + + \ No newline at end of file