Introduction to the Oracle Solaris Developer Documentation

Building Applications in the Oracle Solaris OS

This section provides information on Oracle Solaris facilities for developing applications, including packaging, compiling, debugging, and tuning applications.

Oracle Solaris Developer Tools

Using the Runtime Linker and Link Editor

The Oracle Solaris OS provides a link editor and runtime linker. The Linker and Libraries Guide covers the link editor ld(1), the runtime linker ld.so.1(1), the ELF object file format, and shared objects, which are sometimes referred to as shared libraries.

The manual is intended for a range of programmers who are interested in the Solaris linkers, from the beginner to the advanced user. Beginners learn the principal operations of the link editor and runtime linker. Intermediate programmers learn to create and use efficient custom libraries. Advanced programmers, such as language-tools developers, learn how to interpret and generate object files. A chapter on application binary interfaces describes how to manage the evolution of an interface that is provided by a dynamic object. Other chapters cover thread-local storage and mapfile directives.

Kernel-Level Debugging

The Modular Debugger mdb is an extensible, general purpose debugging tool for the Oracle Solaris OS. The Oracle Solaris Modular Debugger Guide describes how to use the mdb(1) command to debug complex software systems. The guide emphasizes the facilities that are available for debugging the Solaris kernel and associated device drivers and modules. The guide includes a complete reference for the mdb language syntax, debugger features, and the mdb module programming API.

The Oracle Solaris Modular Debugger Guide also features information on kmdb, the kernel-level analogue to mdb.

Using the Oracle Solaris Studio Tools

The Oracle Solaris Studio software provides modules for creating, editing, building, debugging, and analyzing the performance of a C, C++, or Fortran application. Many Oracle Solaris Studio tools have both a GUI and command-line equivalent. Those tools with GUIs provide online help. For the command-line versions, use the associated man pages. If you start dbx from the command line, type commands at the (dbx) prompt to get a brief description of each dbx command.

Note that the Oracle Solaris Studio IDE installs its own version of the NetBeans IDE. This NetBeans installation is not intended to be used independently of the Sun Studio software, and you might experience errors if you use it separately.Install the the NetBeans IDE separately if you want to use it outside of the Sun Studion IDE..

The Oracle Solaris Studio software includes the following tools:

See the Oracle Solaris Studio documentation site for more information.

Using the NetBeans IDE

NetBeans IDE (Integrated Development Environment) provides tools to help you build cross-platform applications for the Oracle Solaris OS and other operating platforms. The NetBeans IDE is available from netbeans.org. To see the installation guide, go to the Releases & Planning page, click the “General Info” link for the release you want, and then find the Installation Instructions on that page.

The NetBeans IDE contains the following features:

Visit the netbeans.org web site for more information. New users might find the following pages particularly useful:

Using Sun HPC ClusterTools

The Sun HPC ClusterTools software is a set of development tools that you can use to develop parallel applications designed to run on distributed-memory systems.

For Solaris 10, the latest Sun HPC ClusterTools software can be downloaded from the Sun HPC ClusterTools page.

Sun HPC ClusterTools includes the following technologies:

The Sun HPC ClusterTools can be used with the Sun Studio compilers for C, C++, and Fortran.

See the Sun HPC ClusterTools documentation set for complete information about using the ClusterTools software.

Packaging Applications for the Oracle Solaris OS

Software programs must be incorporated into a package to be installed in the Oracle Solaris OS. The Application Packaging Developer’s Guide provides step-by-step instructions and relevant background information for designing, building, and verifying System V, or SVR4 packages on the Oracle Solaris OS. A chapter with case studies provides several package creation examples in a variety of situations. This document also includes descriptions of advanced techniques that you might find to be helpful during the package creation process.

For the Oracle Solaris 11 Express release, applications can be packaged using the Image Packaging System (IPS). With IPS, users can also download additional software packages, including developer tools. IPS accesses software packages from networked repositories and then installs them on your system. See the Oracle Solaris 11 Express Image Packaging System Guide for more information about packaging with IPS for the Oracle Solaris 11 Express release.

Solaris Dynamic Tracing

Solaris Dynamic Tracing (DTrace) is a comprehensive dynamic tracing framework for the Oracle Solaris OS. The DTrace facility provides a powerful infrastructure to enable administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs. DTrace can help developers identify performance issues and bugs in applications. The Oracle Solaris Dynamic Tracing Guide describes in depth how to use DTrace to observe, debug, and tune system behavior. This guide also includes a complete reference for bundled DTrace observability tools and the D programming language.

In addition to the manual, you can find links to training, articles and other resources for DTrace at the following locations:

Writing Java Programs for the Oracle Solaris OS

The Java software is optimized to deliver superior performance to server-side and client-side Java technology applications in an enterprise environment. The java.sun.com web site provides complete documentation for Java Platform, Standard Edition (Java SE). The SDN New to Java Programming Center is a good place to start learning about Java programming.

Supplying Platform-Independent Online Help

The JavaHelp system is a full-featured, platform-independent, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. You can also use the JavaHelp software to deliver online documentation for web applications. The JavaHelp System product page includes links for downloading JavaHelp software and the JavaHelp User's Guide documentation. Note that the JavaHelp system is not an authoring system, but a help infrastructure. The product page also includes information about third-party help authoring tools that support the JavaHelp system.