2004 年 5 月 26 日更新


      Sun[tm] Studio 9：集成开发环境 (IDE) 自述文件


            目录

       1. 简介
       2. 关于 Sun Studio 9 IDE
       3. 新特性和更改的特性
       4. Supported Source Code Control Software
       5. Sun Studio 9 软件的组件
       6. 确保 IDE 在客户机/服务器安装过程中操作正常
       7. 确保 IDE 能够找到核心平台
       8. 确保 IDE 能够找到正确的 J2SE 技术
       9. 启动 IDE
      10. 问题和解决办法
      11. 限制和不兼容

     

    ------------------------------------------------------------------------


            A. 简介

    本文档包含有关使用 Sun Studio 9 集成开发环境 (IDE) 的信息。

    产品文档

        * Solaris 平台的发行说明：可以通过 Sun Studio 9 网站
          http://developers.sun.com/tools/cc/documentation/ss9_docs/release_notes.html
          获得此发行说明。发行说明中的信息会更新和扩展所有自述文件中的信
          息。
        * Linux 平台的发行说明：可以通过 Sun Studio 9 网站
          http://developers.sun.com/tools/cc/documentation/ss9_docs/release_notes.html
          获得此发行说明。发行说明中的信息会更新和扩展所有自述文件中的信
          息。
        * Sun Studio 9 文档：产品手册页、自述文件的 HTML 版本以及手册可
          以从 /installation_directory/docs/index.html 进行访问。Solaris
          平台上的缺省安装目录是 /opt/SUNWspro。Linux 平台上的缺省安装目
          录是 /opt/sun/sunstudio9。
        * IDE 文档：Sun Studio 9 IDE 所有组件的联机帮助可从 IDE 中的 [帮
          助] 菜单进行访问。
        * 开发人员资源门户：有关技术文章、代码样例、文档和知识库，请参见
          开发人员门户，网址：http://developers.sun.com/prodtech/cc。

     

    ------------------------------------------------------------------------


            B. 关于 Sun Studio 9 IDE

    Sun Studio 9 IDE 提供了用于创建、编辑、生成、调试和分析 C、C++ 或
    Fortran 应用程序性能的模块。其中包括一组基本的 Java[tm] 语言支持模
    块，如果需要用于 JNI（Java[tm] 本地接口）开发，则可将这些模块激活。

    此发行版的 IDE 适用于以下平台：

        * Solaris[tm] 操作系统：
              o SPARC&#174; Platform Edition，第 8、9 和 10 版
              o x86 平台版本，第 8、9 和 10 版
        * Linux 操作系统：
              o Sun[tm] Java Desktop System 2003
              o SuSE Linux Enterprise Server 8
              o RedHat Enterprise Linux 3

     

    ------------------------------------------------------------------------


            C. 新特性和更改的特性

    本节描述了 ILD 中的新增和更改的功能。

    Sun Studio 9 IDE 中增添或更改了下列功能。

        * ss_attach 功能，允许您在程序开始执行时捕获它，并附加 dbx 调试
          程序立即开始调试它，而不是在进程运行后附加调试程序。
        * 源编辑器中的“快速浏览”组合框，允许您导航到类方法、函数、
          #define 或源文件的其他元素。

    dbx 调试程序的新功能不适用于使用 gcc 或 g++ 编译器编译的程序，或在
    Linux 平台上运行的程序。有关详细信息，请参见限制和不兼容性。

    有关 Solaris 平台上其他 Sun Studio 9 组件的信息，参见《新增功能》手
    册，网址为 http://docs.sun.com。

    ------------------------------------------------------------------------


            D. 支持的源代码控制软件

    Sun Studio 9 IDE 支持下列源代码控制软件：

        * CVS 1.11
        * ClearCase V2002 u2
        * PVCS 6.7.00

    ------------------------------------------------------------------------


            C. Sun Studio 软件的组件

    Sun[tm] Studio 9 软件 由以下 2 个主要组件组成：

        * Sun Studio 组件，包括 IDE、编译器（只在 Solaris 平台上）、各种
          工具及核心平台
        * Java[tm] 2 平台，核心平台赖以运行的标准版 v 1.4.2_02 (J2SE) 技术

    IDE、编译器和工具在 Solaris 上的缺省安装目录为 /opt/SUNWspro，但可在
    安装过程中指定其他目录。IDE 和工具在 Linux 平台上的缺省安装目录为
    /opt/sun/sunstudio9，但可在安装过程中指定其他目录。

    核心平台在 Solaris 平台上的缺省安装目录为 /opt/netbeans/3.5M，但可在
    安装过程中指定其他目录。核心平台在 Linux 平台上的缺省安装目录为
    /opt/sun/netbeans/3.5M，但可在安装过程中指定其他目录。

    在 Solaris 平台上，2SE 1.4.2_02 技术的缺省安装目录为
    /usr/jdk/j2sdk1.4.2_02 目录，但安装过程中可在 /usr 中指定其他目录。
    在 Linux 平台上，2SE 1.4.2_02 技术的缺省安装目录为
    /usr/java/j2sdk1.4.2_02 目录，但安装过程中可在 /usr 中指定其他目录。

    IDE 是否能正常工作取决于 IDE 是否可以找到核心平台，以及核心平台是否
    能够找到 J2SE 技术。

     

    ------------------------------------------------------------------------


            F. 确保 IDE 在客户机/服务器安装中正确操作

    可将 Sun Studio 9 软件安装到服务器上。为确保从客户端系统启动 IDE
    时，IDE 能够找到核心平台，如果未将包含 IDE 和核心平台的目录安装在客
    户端系统中，则必须从服务器进行安装。

    为方便起见，应将 IDE 和核心平台安装在相同基目录中，因此可在客户机系
    统上对两者使用一个单一的安装点。

    注意：如果客户端系统中的安装点为缺省安装目录，则可能会隐藏客户端系统
    中的其他软件的安装。在这种情况下，不安装 /opt 目录。在 Solaris 平台
    上，请分别安装 /opt/SUNWspro 和 /opt/netbeans 目录。在 Linux 平台
    上，请分别安装 /opt/sun/sunstudio9 和 /opt/sun/netbeans 目录。

     

    ------------------------------------------------------------------------


            G. 确保 IDE 能找到核心平台

    用于启动 IDE 的 sunstudio 命令会在以下两个位置查找核心平台：

        * 在 Solaris 平台上，该命令首先在缺省安装目录 /opt/netbeans/3.5R
          下进行查找，而在 Linux 平台上，该命令首先在缺省安装目录
          /opt/sun/netbeans/3.5M 下进行查找。
        * 如果该命令在缺省目录中找不到核心平台，则会假定包含 IDE 的目录
          与包含核心平台的目录被安装在同一位置。例如，在 Solaris 平台上,
          如果包含 IDE 的目录的路径是 /foo/SUNWspro，则该命令会在
          /foo/netbeans/3.5M 中查找核心平台。在 Linux 平台上，如果包含
          IDE 的目录的路径是 /foo/SUNWspro，则该命令会在
          /foo/netbeans/3.5M 中查找核心平台。

    如果未将核心平台安装在 sunstudio 命令进行查找的任一位置处，则客户端
    系统中的每位用户均须将环境变量 SPRO_NETBEANS_HOME 设置为安装核心平台
    的位置 (installation_directory/netbeans/3.5M)。

    在 Solaris 平台上，IDE 的每位用户也必须将
    /installation_directory/SUNWspro/bin 添加到任何其他版本的 Forte
    Developer 软件、Sun ONE Studio 软件或 Sun Studio 软件路径前的 $PATH
    中。在 Linux 平台上，IDE 的每位用户也必须将
    /installation_directory/sunstudio9/bin 添加到任何其他版本的 Sun
    Studio 软件路径前的路径中。

    注意：不能将路径 /installation_directory/netbeans/3.5M/bin 添加到用
    户的 $PATH 中。

     

    ------------------------------------------------------------------------


            H. 确保 IDE 能找到正确的 J2SE 技术

    IDE 需要使用 J2SE 1.4.2_02 技术。每个客户端系统必须具备下列项之一：

        * 安装在系统中的 J2SE 1.4.2_02 技术
        * 对安装有 J2SE 1.4.2_02 技术的路径的网络访问权

    为确定是否已将有效的 J2SE 1.4.2_02 技术安装在本地系统的标准位置或是
    否存在于 $PATH 中，请键入：

checkjava

    如果 checkjava 命令找到有效的 J2SE 技术，则该命令的输出为：

Using J2SDK version version from path

    如果收到了该输出结果，则系统已有所需的 J2SE，并且 IDE 会找到它。

    如果该命令没有找到有效的 J2SE 技术，则命令输出结果为：

Could not find valid J2SDK in $PATH or in a standard location

    在这种情况下，您可以有几种选择：

        * 在本地系统中安装随产品提供的 J2SE 1.4.2_02 技术。 For
          instructions, see the Sun Studio 9 Installation and Setup
          Guide for Solaris Platforms or the Sun Studio 9 Installation
          and Setup Guide for Linux Platforms.
        * 请询问您的系统管理员以获得安装在网络中的 J2SE 1.4.2 技术的路
          径。如果此路径可用：
              o 将网络中的 J2SE 1.4.2 技术的路径添加到您的 $PATH 中。
              o 对 sunstudio 命令使用 --jdkhome 选项以指定网络中的 J2SE
                1.4.2_02 技术的路径。有关详细信息，参见 sunstudio(1) 手
                册页。（要显示 sunstudio(1) 手册页，则在 Solaris 平台
                上，$MANPATH 中必须含有 /installation_directory/man，而
                在 Linux 平台上，$MANPATH 中必须含有
                /installation_directory/sunstudio9/man。）
              o 将 JDK_HOME 环境变量设置为网络中的 J2SE 1.4.2_02 技术的
                路径。

     

    ------------------------------------------------------------------------


            I. 启动 IDE

    用于启动 IDE 的命令是 sunstudio。有关此命令的详细信息，参见
    sunstudio(1) 手册页。（要显示 sunstudio(1) 手册页，则在 Solaris 平台
    上，$MANPATH 中必须含有 /installation_directory/man，而在 Linux 平台
    上，$MANPATH 中必须含有 /installation_directory/sunstudio9/man。）

     

    ------------------------------------------------------------------------


            J. 问题和解决办法

    本节讨论了已知的软件问题及其可能的解决方法。有关更新信息，请查看开发
    人员门户，网址：http://developers.sun.com/prodtech/cc/support_index.html。

       1. 外部浏览器无法启动或显示请求的链接
       2. 当使用外部编辑器 GVim 或 XEmacs 时，[新建断点] 对话框经常不能
          利用当前文件和行信息正确地设置籽数
       3. 如果存在交换文件，GVim 不会响应 IDE
       4. 当使用外部编辑器模块和 XEmacs 时，保存多字节注释会破坏保存的文
          件。
       5. 当在 Ja 语言环境中使用外部编辑器模块时，断点将显示在错误的行上
       6. 在 XEmacs 窗口中约 1 秒钟后，选择被拭除
       7. 在开始调试一个可执行文件时，有时会得到一个
          FileStateInvalidException
       8. 删除最后一行将关闭外部编辑器文档连接
       9. ~ 字符不会向 GVim 发送更改请求
      10. GVim 中的 cw 命令可能会破坏文件
      11. 关闭并重新打开输出窗口会导致选项卡消失

       1. 外部浏览器无法启动或显示请求的链接

          如果在 [帮助] 菜单中选择 [编译器/工具文档] 项，或是在 [欢迎]
          屏幕中单击 [开发人员门户] 链接，IDE 可能无法成功启动外部浏览
          器或使用现已运行的外部浏览器来显示文档索引或开发人员门户。

          解决办法：

          使用下列 URL 在 IDE 之外启动外部浏览器：

              * 对其中包含可链接到所有手册页、自述文件和手册的链接的 Sun
                Studio 9 for Solaris platform 或 Sun Studio 9 for Linux
                platform 产品的文档索引页而言，应使用
                installation_directory/SUNWspro/docs
              * 对于提供代码样例、技术文章、知识库项目及文档的 Sun
                Studio 9 的开发人员门户，应使用
          http://developers.sun.com/prodtech/cc/index.html。

       2. 当使用外部编辑器 GVim 或 XEmacs 时，[新建断点] 对话
          框经常不能利用当前文件和行信息正确地设置籽数 (4981442)

          当显示 [新建断点] 对话框时，应将 [断点类型] 设置为 [文件:行]，
          并根据编辑器中的光标来设置 [文件] 和 [行] 文本字段。在许多情况
          下，当显示该对话框时，[文件] 和 [行] 字段为空白，因而必须键入
          文件和行信息。

          解决办法：

          有三种方式可显示此对话框。如果从 [调试器] 窗口的 [断点] 视图中
          显示它，则几乎无法看到 [文件] 和 l [行] 信息。如果使用
          Shift+Ctrl+F8 从外部编辑器（GVim 或 XEmacs）显示它，则会正确设
          置 [文件] 和 [行] 信息。如果从 [调试] 菜单显示该对话框，则取决
          于上次在 IDE 窗口中键入或单击的位置。

       3. 如果存在交换文件，GVim 不会响应 IDE (4801244)

          在一个含有现有 vim 交换文件的源文件上，如果从 [资源管理器] 启
          动 GVim，GVim 将显示有关现有交换文件的错误 E325。GVim 窗口底部
          会显示“敲击 ENTER 键或键入命令以继续”。

          上述错误导致两个问题。首先，如果 GVim 位于其他窗口之下，在将它
          提到上面时，文本不会刷新，因此看到的只是一个空窗口。其次，IDE
          不会从 GVim 得到预期的响应，并会导致连接超时。

          如果超时前（连接发生超时前大约有 30 秒时间）在 GVim 中按 Enter
          键，则会正确建立连接。

       4. 当使用外部编辑器模块和 XEmacs 时，保存多字节注释会破
          坏保存的文件。 (4950716)

          解决办法：

          不要使用多字节。

       5. 当在 Ja 语言环境中使用外部编辑器模块时，断点将显示在
          错误的行上 (4948883)

          如果在第 20 行上设置了一个断点，则该断点会显示在第 21 行上。在
          中文语言环境中也可能出现这一问题。

       6. 在 XEmacs 窗口中约 1 秒钟后，选择被拭除 (4964962)

          目前还没有找到解决此问题的办法。

       7. 在开始调试一个可执行文件时，有时会得到一个
          FileStateInvalidException (4960929)

          如果在启动调试器时得到此异常，还会得到一个糟糕的窗口布局。退出
          IDE，然后重新启动。

       8. 删除最后一行将关闭外部编辑器文档连接 (4985044)

          将在 GVim 中显示的文件的最后一行删除会停止 GVim 和 IDE 之间的
          连接。将通知用户已失去连接。

       9. ~ 字符不会向 GVim 发送更改请求

          文件中每个更改的字符都必须向 GVim 发回消息，告诉 GVim 说字符已
          更改。'~' 字符不发送该消息。

      10. GVim 中的 cw 命令可能会破坏文件

          在通过 GVim 编辑文件时使用 cw 命令然后保存文件，可能会生成破坏
          的文件。

      11. 关闭并重新打开输出窗口会导致选项卡消失

          如果您正在运行单个调试会话，而且关闭输出窗口并重新打开它，则重
          新打开的窗口中只有 [输出] 选项卡。

          解决办法：
          终止当前的调试会话并启动新的会话， [输出] 窗口中就会显示所有选
          项卡。

     

    ------------------------------------------------------------------------


            K. 限制和不兼容性

    Sun Studio 9 IDE 有如下限制：

        * dbx 调试程序的以下功能不适用于 Linux 平台：
              o ss_attach（在程序开始执行时捕获它）
              o 主存文件调试
              o 修复并继续
              o Java 调试
              o 使用 dbx collector 命令或 [收集器] 对话框的性能数据收集
                （但您可以在性能分析器中使用 collect 命令或 [收集器] 窗
                口收集性能数据。）
              o 运行时检查
              o 异常断点
              o 故障断点
              o 系统调用断点
              o 进程事件断点（您无法在 [新建断点] 对话框中设置进程事件断
                点。可以从 [输出] 窗口的 [调试程序控制台]选项卡中的 dbx
                命令行上，对 exit、next、step、stop、gone 和 syncrtld 事
                件设置断点。
              o 调试程序事件断点（您无法在 [新建断点] 对话框中设置调试程
                序事件断点。可以从 [输出] 窗口的 [调试程序控制台]选项卡
                中的 dbx 命令行上，对 attach 和 detach 事件设置断点。


        * C++ 表达式的运行时类型信息不适用于使用 g++ 编译器编译的程序。


        * 关于在 Linux 平台上调试多线程程序的限制信息，请参见 dbx Readme。


        * 运行时检查的内存访问检查功能不适用于 Solaris OS x86 Platform
          Edition。

     

    ------------------------------------------------------------------------

    版权所有(c) 2004 Sun Microsystems, Inc. 保留所有权利。
	必须依据许可证条款使用。

