Sun Java Solaris Communities My SDN Account Join SDN
 

Solaris Express Developer Edition

You Are Cordially Invited...
To Participate in all that the Solaris Communities have to offer

Sun Studio Express - December 2007 Build

What is a Sun Studio Express Build?


Sun Studio Express builds are fully-functional preview software that focus on new features being introduced into the Sun Studio product. The intent is to collaborate with the developer community by gathering feedback through the Sun Studio forums and the bug/RFE (request for enhancement) database.

Note: Sun Studio Express builds should not be used to generate production-level applications.

The Sun Studio Express December 2007 build is available only as part of Solaris Express Developer Edition (SXDE) 01/08.

What is Solaris Express Developer Edition?

Solaris Express Developer Edition (SXDE) is a free, quarterly release of Sun's next generation Solaris Operating System built from the source code repository at OpenSolaris.org. For information about SXDE 01/08, see the Overview page.

Update Notification

The Update Notification feature periodically checks www.sun.com and communicates available changes related to your Sun Studio software, including patches and major software updates. In this Sun Studio Express build, only usage information is communicated. This information is used by Sun Microsystems to improve future Sun Studio software releases. This information is anonymous and cannot be associated to any individual or organization. To disable Update Notification, set the SUNW_NO_UPDATE_NOTIFY environment variable to any value other than false.

New and Changed Features

Here is an overview of some of the new features in this Express build of Sun Studio compilers and tools. Note that most of these features may not yet be documented in the Sun Studio man pages in this build.

IDE

  • IDE is based on NetBeans IDE 6.0
  • Include Hierarchy, opened by right-clicking in a source or header file and choosing Navigate > Inspect Includes Hierarchy, lets you inspect the hierarchy of source and header files
  • Type Hierarchy, opened by right-clicking on a class declaration or class reference and choosing Navigate > Inspect Type Hierarchy, lets you inspect all supertypes and subtypes of a class
  • New toolbar button lets you toggle between corresponding source and header files
  • Code completion now works for #include directives
  • New Go to Type menu item lets you find a type (class, struct, enum, or typedef) by its name or prefix
  • New Go to Include menu item lets you go directly to a file that is included in a source or header file
  • New Go to Function or Variable menu item lets you find a function or variable by its name or prefix
  • Project dependencies can be created for projects from existing code

dbx Debugger

Runtime Checking (RTC) now gives information about array out-of-bounds access on Solaris OS on x86 platforms. Runtime Checking reports the following array out-of-bounds errors:

    rob  Read from array out-of-bounds memory
    wob  Write to array out-of-bounds memory

Project D-Light

The objective of Project D-Light is to make sophisticated application and system profiling accessible. There are many tools that profile applications and there are other tools that profile the system stack, but there are few tools that can join these views into an easy to use interface. For the first time, you can optimize your application and system environment by visualizing performance bottlenecks and resource contention up and down the application system stack.

Using an intuitive drag and drop interface, Project D-Light provides an extensible library of instruments that represent the latest advances of profiling technology, including Solaris Dynamic Tracing (DTrace). With instruments like CPU accountant to Sampler, developers can use the interactive GUI to quickly profile and peer into the runtime behavior of their applications.

For more information on using D-Light refer to the Project D-Light Tutorial.

DTrace GUI Plugin

The NetBeans DTrace GUI plug-in is a Graphical User Interface (GUI) for running DTrace scripts (D scripts), which this express build installs in the IDE. You can run D scripts from the GUI, even those that are embedded in shell scripts. In fact, the DTrace GUI plug-in runs all of the D scripts that are packaged in the DTraceToolkit. The DTraceToolkit is a collection of useful documented scripts developed by the OpenSolaris DTrace community.

The NetBeans DTrace GUI plug-in is architected in such a way that you can easily extend and customize it.

The GUI package consists of two components: The NetBeans plug-in and the DTraceScripts directory. The DTraceScripts directory contains several subdirectories. Each subdirectory contains several D scripts. The D scripts are categorized mostly based on DTrace providers. You can copy a new D script to an existing subdirectory from the shell command line, you can copy it into a newly created subdirectory in the DTraceScripts directory. You can also create and save a new D script from within the IDE.

The DTrace GUI plug-in is installed for you in NetBeans IDE 6.0. To use it, you need to copy the DTrace scripts from /opt/dtrace-gui to your home directory:

    cp -r /opt/dtrace-gui/DTraceScripts $HOME
    chmod -R 755 $HOME/DTraceScripts

You can access documentation for the DTrace GUI at /opt/dtrace-gui/doc/NetBeans_DTrace_GUI_Plugin.html. This document describes how to set privileges in the /etc/user_attr file, and how to use the DTrace GUI. When you use the DTrace GUI, be sure to start the NetBeans IDE 6.0 or the Sun Studio IDE from a different shell than the one you use to set privileges.

Known Issues

     Step Over button in Sun Studio IDE might become disabled when debugging

When debugging a program using the Sun Studio IDE, the Step Over button on the tool bar might become disabled (grayed out) if you restart the program by clicking the Rerun button or typing the run command in the Dbx Console window.

Workarounds:
  • If the Step Over button becomes disabled, you can single step using the step and next commands in the Dbx Console window.
  • Rerun your program by finishing the debugging session and starting a new one.


Programs linked with the Sun Studio Express 12/07 Fortran compiler might lack debug information

If you use the Fortran compiler in Sun Studio Express 12/07 to link .a and .o files created by any compiler in a release of Sun Studio software prior to the Sun Studio 12 release, the resulting binary contains invalid N_OBJ stabs. The same issue occurs if you use the Fortran compiler in Sun Studio Express 12/07 to link .a and .o files created by using a compiler in the Sun Studio 12 software or in Sun Studio Express 12/07 with the -xdebugformat=stabs option.

When you attempt to debug such a binary with the dbx debugger or analyze it with the Performance Analyzer in Sun Studio Express 12/07, these utilities will not find any debug information.

Workaround: Specify the -xannotate=no option when linking .a and .o files that contain stabs with the Sun Studio Express 12/07 Fortran compiler

Documentation

Refer to the Sun Studio 12 Information Center for links to all of the documentation for Sun Studio 12 software. This documentation has not been updated for the new and changed features in this express build.

Additional Notes


Source Code for libelf and ld