![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
You can select a topic from this diagram:
This chapter identifies the changes made to the QNX Momentics IDE.
In this chapter:
IDE 4.0.1 includes the following new features:
In IDE 4.0.1, you can upgrade to use Eclipse platform version 3.2.2, and the Eclipse CDT to version 3.1.2. For detailed information about the changes made to the Eclipse Platform and CDT, see the Eclipse.org website.
IDE 4.0.1 includes various overall improvements to the application. For a detailed list of these improvements, see the release notes.
In addition to updating your IDE features and qconn, you can now use the Software Updates manager to quickly update the IDE software.
![]() |
If you have an existing installation of IDE 4.0 on your machine, you can use the IDE Software Updates manager to update the IDE to version 4.0.1 (see the topic "Upgrading using the IDE Software Update manager" in the installation notes for Windows and Linux hosts; for Solaris and Neutrino, you will need to follow the typical installation instructions for a new installation. |
For this release of the IDE, the Download center has an update to qconn and to the malloc library. For instructions about using the Software Update Manager, see the installation notes for Windows or Linux, or see the QNX Momentics IDE Online Help.
The documentation includes various improvements and enhancements. For a list of some of these improvements, see the items under the heading, "List of fixes" in the release notes. In addition, a printed version of the QNX Momentics IDE User's Guide is also available.
IDE 4.0 included the following new features:
Improving the ability to navigate through the system events lets you quickly zoom into problem areas or follow the flow of activity, matching what you see visually in the timeline with what you expect to occur in your systems.
Specific improvements include:
This version of the System Profiler lets you save and create new log files that contain only a relevant subset of the data required for other developers to understand problems. New log files can be created focusing on only a particular range of time, and filtering out unnecessary events or event owners, such as server processes.
A new event data extraction and interpretation framework has been introduced with this release that allows event data conversions, particularly of User Events, to be more powerfully applied. Users can now describe their own events using C-style data structures. Accompanying this new framework is a new Event Data Properties view that more clearly displays, in a tabular manner, the key/value data associated with individual events.
By repeating this action (or generating the entire running backtrace), you receive a clearer view about the sequence of activities leading up to their original execution position. Not to be confused with an execution backtrace, this "running backtrace" highlights the cause and effect relationship leading up to the initial execution position.
In a message-passing system, such as Neutrino, where servers are often working on behalf of clients, determining the true execution cost can be challenging. This new view helps with that endeavor. For each executing thread, this view contains the direct CPU time the thread executed, and if that thread communicated to another server, the amount of time that the server executed on its behalf is accumulated as imposed CPU usage to the client. You can then easily export this data can then be easily exported for use with other analysis and charting tools.
This perspective includes a completely new Memory Analysis Tooling that's reliable, fast, and robust, and with greatly improved performance and stability.
Its features include:
You can now:
You can now create and use QNX Managed Make projects to handle building code dynamically for any and all QNX targets.
These are similar to QNX Projects except they provide a richer environment for setting compiler and linker options. They also let you use custom build steps and set environment variables and build macros for make. Managed Make projects can be created in the New Project Wizard under C or C++. Select QNX Neutrino Executable, Shared Library, or Static Library Project Type, and then select which Configurations to build for. There are configurations for each processor type, compiler version, and debug/release build options.
The C/C++ indexers have been substantially improved for greater performance and scalability.
The IDE lets you select the indexers to use to gather symbol information used by code search features. You can choose to use indexers in the project properties for each project under the C/C++ Indexer heading. It is also available in the Preferences dialog, which sets the default indexer for new projects and can also be used to apply that indexer selection to all projects in the workspace. There are three choices for indexing: no indexer, fast indexer, and full indexer. No indexer implies that no indexing takes place, and as a result, the search features will not function. The full indexer does a full parse of the workspace and provides the most accurate information, and it is similar to what was provided in version 6.3.0 SP2. The fast indexer uses heuristics to optimize the parse and is the recommended selection for large projects.
We recommend that you use the fast indexer option. The fast indexer takes a fraction (approximately 10-25%) of the time to index a large project than in IDE version 6.3.0 SP2. It also successfully indexes extremely large projects.
For example, the fast indexer can index the Firefox browser source in approximately 14 minutes. There are approximately 5600 indexable files (source and header files) with over 300,000 symbols.
Service Pack 3 includes all of the bug fixes and updates found in the previous service packs. The development environment is the same as the one introduced with Service Pack 2.
The following sections describe some of the more interesting or significant changes made to the IDE in QNX Momentics 6.3.0 SP2:
The QNX Momentics 6.3.0 SP2 IDE sports many useful new features:
The look and feel of the workbench has evolved. Here are some of the things you might notice:
A number of changes have occurred in the UI to support a higher level of responsiveness. This includes support for running jobs in the background instead of tying up the UI and making you wait.
The IDE now features a:
The new Progress view, showing the progress of a CVS checkout and a Workspace build background operation.
Many user operations can now be run in the background. When you see the progress dialog with the Run In Background button, you can click it to immediately return to your work.
This dialog also shows you the details of other currently running operations in the workspace and informs you when one operation is blocked and waiting for another to complete.
A number of changes and enhancements have gone into the editor management in the QNX Momentics IDE.
The IDE now provides:
The QNX Momentics IDE contains basic support for themes to allow for the customization of colors and fonts used in the workbench.
Changes made in the local filesystem can now be automatically refreshed in the workspace. This automatic refresh saves you from having to do a manual
every time you modify files with an external editor or tool. This feature is currently disabled by default, but can deactivated from the Workbench preference page.The Find/Replace dialog for text editors supports searching and replacing using regular expressions. Press F1 to get an overview of the regular expression syntax, and press Ctrl-Space to get Content Assist for inserting regular expression constructs.
When the cursor is placed in a dialog field that can provide Content Assist, a small light bulb appears at the upper-left corner of the field.
You can customize the displayed width of tabs and the text selection foreground and background colors in the text editor. See the
page:
All text editors based on the QNX Momentics IDE editor framework support new editing functions, including moving lines up or down (Alt-Up Arrow and Alt-Down Arrow), copying lines (Ctrl-Alt-Up Arrow and Ctrl-Alt-Down Arrow), inserting new a line above or below the current line (Ctrl-Shift-Enter and Shift-Enter), and converting to lowercase or uppercase (Ctrl-Shift-Y and Ctrl-Shift-X).
Double-clicking on the line number in the status line is the same as Ctrl-L).
(The File menu now includes an Open External File... option that lets you open any file in the workbench without having to import it into a project.
The new CDT in the QNX Momentics 6.3.0 SP2 IDE features:
The Outline view now offers you the ability to filter out certain elements such as defines and namespaces as well as the ability to group all include statements together.
Creating new C++ classes continues to get easier with a number of enhancements to the C++ class-creation wizard.
A new toolbar has been created that facilitates the creation of a number of standard C/C++ objects:
The C/C++ editor supports code folding for functions, methods, classes, structures and macros.
The Makefile editor has a new Preferences dialog and supports code folding.
Debugging support and application launching in the CDT has been improved, as described in the following sections:
The C/C++ Debugger now supports thread-specific breakpoints. After placing a breakpoint, look at its Properties to see which threads or processes it's active for.
The Breakpoints view now lets you filter out all of the irrelevant breakpoints based on the specific process that you're debugging.
C/C++ launch configurations now include support for workspace variables in the Environment, Argument, and Working Directory tabs.
You no longer have to toggle the C/C++ editor to show the assembly of a program. Instead, use the Disassembly view to see both assembly code and source mixed:
You can add global variables to the Variables view instead of having to add them as separate expressions.
The Debug Console has moved to being a proper console selection of its own in the generic Console view.
You can now configure the default behavior for the automatic retrieval of shared library and register information in the C/C++ debugger.
You can specify whether to refresh register values automatically or manually from the Launch configuration dialog with the Advanced button of the Debug tab.
You can now maintain separate Run and Debug launch configurations for debugging core files, attaching to a running process, attaching to your target with pdebug (serial debugging), and attaching to your target with qconn (TCP/IP debugging).
Project configuration and building has been improved:
Automatically generate project defines and include path settings from the C/C++ Standard Make project's Discovery Options project settings.
![]() |
This is for projects being built with one of the platform-specific nto*-gcc drivers and a custom Makefile. |
Use the C/C++ Include Paths and Symbols to set up the project settings appropriately for searching, indexing, and other source navigation functionality.
Use the C/C++ Project Paths project properties to determine those files and directories that should be specifically considered as containing source, output, or library content. You can improve performance by limiting the directories and files of large projects.
Define the types of specific files, especially C++ headers without extensions, using the C/C++ File Types global preference or project property.
You can now create working sets containing only C/C++ projects and resources by creating a C/C++ Working Set definition.
Editing and navigating your C/C++ source files is now easier with:
Editing code is easier with a more fully featured content assist feature. Completions are provided in the C/C++ editor for:
Configure completion options in the global C/C++ Editor Preferences.
Use the Outline view or the C/C++ editor's
context menu to refactor class and type names, methods, functions, and member names.
Use Ctrl-Shift-T) to open the declaration of C/C++ classes, structures, unions, typedefs, enumerations, and namespaces.
(
Use the C/C++ Browsing perspective to navigate the class and structure members of a particular project.
The Makefile editor now provides syntax highlighting, code completion, and content outlining capabilities.
The C/C++ Search dialog provides context-sensitive searches from the Outline view as well as resource selection-restricted searches in the C/C++ Search dialog.
The C/C++ Editor supports hyperlink navigation, if enabled, by selecting Ctrl-Click to move to the declaration of an item directly in the C/C++ editor.
. Then you can use
Enable C/C++ indexing and indexer error reporting in the C/C++ Indexer properties. This helps identify projects that are missing path-configuration information.
Configure the indexer from the C/C++ Indexer project settings:
These exclusive QNX Momentics tools have also been updated and improved:
The following new features have been added to the Memory Analysis perspective:
The Memory Information and Malloc Information views are now part of the System Information perspective.
The new features added to the System Profiler in 6.3.0 SP2 are:
Improved reporting output and export capabilities.
The System Information perspective has been rewritten with a new update control mechanism, and simplified Process Information and Signal Information views.
The new Process Information view:
The new Signal Information view:
The Memory Information and Malloc Information views (formerly found in the Memory Analysis perspective) are now part of the System Information perspective.
The following new features have been added to the System Builder perspective:
Here are some of the more interesting or significant changes made to the QNX Momentics IDE in QNX Momentics 6.3.0:
![]() |
![]() |
![]() |
![]() |