Carbide.c++ Release Notes

## Carbide.c++ Release Notes 3.0.0

The Carbide.c++ is a comprehensive development tool suite for Symbian 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.

- What's new
- Known issues
- Bug Fixes
- Technical support

### What's New in 3.0.0

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

- Eclipse 3.6 - The Eclipse 3.6 project (Helios) provides the foundation, or integration platform, on which Carbide.c++ is built. New features include: Breakpoint detail pane for editing properties, Expression View Columns, Rectangular cut/paste, Synchronize View for applying patches. See What's New in 3.6 for more information.
- CDT 7.0 - The final version of CDT is included as part of the Helios release. New Disassembly view with unlimited scrolling et al, new Templates view, compiler error/warning output highlighting, Regular Expression Error parser, Save build log to file, new key binding for "Run last make target". See the CDT 7.0 News and Noteworthy page for more information.
- Eclipse Debugger for C/C++ - Carbide now uses the Eclipse Debugger for C/C++ (EDC) as the default device debugger. EDC provided an entirely new Debug view with all of the standard debug features like variables, breakpoints, watchpoints, disassembly, and all the other views required to run a debugging session. In addition, EDC provides the framework to add new debug features like snapshots.
- TCF Debug Agents - Using Eclipse's Target Configuration Framework, a new set of debug agents are used with the new EDC debugger to provide a completely new end-to-end debug environment.
- Plug-n-Play Debug Discovery - a new method where Carbide can detect a debug target (phone device, PlatSim, etc) and automatically connect and configure the target so debugging can be initiated.
- Snapshots - Save the state of a debug session for later review. Multiple snapshots are stored in a debug album to be shared with others or used for comparing different debug sessions.
- New SDK Manager - Now automatically adds Symbian SDKs found on subst'ed drives and will link corresponding internally installed Qt SDKs. There are only two properties for SDKs now, the unique ID and location - no more messing around with OS or SDK versions!
- Improved Raptor support - The Build Configuration Filter selects which platforms are visible when creating new projects or build configurations. This preference panel populates the build configurations when importing new projects. Users can now create their own custom variants for any Raptor build alias.
- CODA replaces TRK as the debug agent on remote devices. CODA (Carbide On-device Debug Agent) uses the TCF interface to provide improved communication support between the Carbide debugger and the remote device. Can be downloaded and installed using the Install Remote Agents tab in the New Connection dialog. Requires both Carbide.c++ 3.x and EDC.
- New Carbide.c++ portal view - The new Carbide.c++ Portal view provides easier access to
  - Welcome and getting started information including videos, blogs, and much more
  - Installing and updating Symbian SDKs using the SDK Manager
  - Customizing the Carbide workspace to better suit your needs
  - Support information
- Streamlined UI - Carbide's UI has been streamlined and minimized to a core set of functionality, mainly that of creating Symbian projects, building and debugging them. Context menus have been reworked to show a minimum set of options. If your favorite option is missing, you can use the Capability preference panel or the Customize Perspective dialog to add favorite commands back onto the context menus.

- Performance improvements - We continue to address known performance issues as they reveal themselves. This release provides improvements for:
  - Cached SDK and SBS builds - once your SDKs and build configurations are set up subsequent Carbide launches are faster.
  - Stack frames - in the Debug view stack frames were displayed once the symbol tables were completely read. For large symbol files this sometimes slowed down the display and hence the ability to continue debugging. Now the Debug view will show a subset of stack frames after a set time and update the remainder once it has finished scanning the symbol file.
  - Executables view - eliminated several use cases that forced the Executables list to update too frequently.
  - Large symbol tables supported - The Carbide symbol reader has been rewritten to provide faster access to symbols and to handle very large symbol files (larger than 10GB).
- The Variables view and debug hover provides smart formatting for:
  - Symbian data types and descriptors
  - Qt data types: QString, QByteArray, QSet, QHash, QMap, QVector, QList, QLinkedList and Qvariant.

#### 2.7.0

- The Leavescan plug-in has been deprecated and is no longer included in Carbide.c++ releases. Use Codescanner to replace the Leavescan functionality.

#### 2.6.0

- GCCE 4.0 supported - required for future SBSv2 releases.
- Symbian^3 supported - new templates and improvements required for the public Symbian^3 SDK.
- Known Issues in v2.6.0:

  GCCE4 support requires using a SBSv2 build alias (-c parameter) of armv5_udeb_gcce or armv5_urel_gcce. As of this writing, these aliases were not available in the SDK or SBSv2, but will appear in some future version. Carbide versions prior to 2.6 do not support GCCE4.

  Users should consult the SDK documentation for GCCE and SBSv2 issues and installation requirements.

  TRK: If you install the TRK app onto your phone's flash memory (Mass Storage) a Remote Connection may not find the TRK-service even though TRK is already connected to your PC. Workaround: Uninstall TRK then reinstall it onto your PHONE memory (C-drive). The TRK service should now be "Available".

#### 2.5.0

- Plug-and-Play (PnP) On-device Debugging supported - debugging a target device just got easier. Using a USB cable, connect the PC to the target device, then launch Carbide.c++. Carbide locates the connected device and creates a remote connection setup to communicate with it. Build the program and launch it on the device to start the debugging session.
- PnP Phone Launch Wizard - If the project does not already have a launch configuration, the PnP Launch Wizard makes it easy to create one for phones. In addition the new Configure Launch Configuration dialog provides a quick summary of the remote connection for easy review and modification.
- Carbide automatically detects TRK on target phones and devices - Carbide now detects the presence of either Application or System TRK on a connected device when TRK 3.2.6 or later are installed. Earlier TRK versions do not support this recognition feature.
- TRK improvements - TRK continues to evolve and now includes these improvements:
  - Both Application and System TRK v3.2.6 support PnP debugging. Update and install using the Help > On Device Connections > Install Remote Agents pane in the New Connection dialog.
  - VERSION3 command now supported
- RVCT 4.0 (ARMv5) builds and some limited debugging is supported
- Symbian ^3 SDK now supported

### Known issues

Workarounds for known issues:

- Qt issues - If Qt does not seem to be working as expected, be sure to run the \configuration\qt\register_plugins.bat file to properly register the Qt plugins. This is especially important if you installed Carbide using a zip file and not an installer.
- USB issues - There are known problems with some USB configurations. We are working to resolve these asap.

### Technical support

The following support services are available:

- Visit the Symbian Foundation for Carbide.c++ and Symbian development information