Updated 2001/06/11 |
Sun WorkShop[tm] 6 update 2 Readme |
Contents
- Introduction
- About the Sun WorkShop 6 update 2 Release
- New Features
- Software Corrections
- Problems and Workarounds
- Limitations and Incompatibilities
- Documentation Errors
This document contains last-minute information about the Sun WorkShop[tm] 6 update 2 integrated programming environment. This document describes the software corrections addressed by this release and lists known problems, limitations, and incompatibilities.
For installation-related and late-breaking information about this release, see the Sun WorkShop 6 update 2 Release Notes. Information in the release notes overrides information in all readme files.
To access the release notes and the complete Forte[tm] Developer/Sun WorkShop[tm] documentation set, point your Netscape[tm] Communicator 4.0 or compatible browser to the documentation index (file:/opt/SUNWspro/docs/index.html).
To view the text version of this readme, type the following at a command prompt:
more /opt/SUNWspro/READMEs/workshop.readme
To view the HTML version of this readme, do one of the following:
- Choose Help > Readme from the Sun WorkShop[tm] main window.
- Point your Netscape Communicator 4.0 or compatible browser to file:/opt/SUNWspro/docs/index.html.
Note - If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.
B. About the Sun WorkShop 6 update 2 Release
This Sun WorkShop release is available on the Solaris[tm] operating environment (SPARC[tm] Platform Edition) and Solaris operating environment (Intel Platform Edition) versions 2.6, 7, and 8.
To send comments or suggestions about Sun WorkShop 6 update 2 to the Sun WorkShop development team, choose Help > Send Comments from the main window.
C. New Features
This section describes the new and changed features in the Sun WorkShop 6 update 2, Sun WorkShop 6 update 1, and Sun WorkShop 6 releases of the integrated programming environment.
For information about the other new features in this release, see What's New in Sun WorkShop 6 update 2. To access this manual on your local system or network, point your browser to file:/opt/SUNWspro/docs/index.html. You can also access this manual by pointing your browser to http://docs.sun.com (then search book titles only for the words "What's New").
Sun WorkShop 6 update 2 Integrated Programming Environment New Features
The Vim text editor included with this release is version 5.6 (version 5.3 was included in the Sun WorkShop 6 release). For more information about the Vim text editor, see http://www.vim.org.
Sun WorkShop 6 update 1 Integrated Programming Environment New Features
For the Sun WorkShop 6 update 1 release of the integrated programming environment, there were software fixes regarding multiple session debugging and regarding the project wizard.
Sun WorkShop 6 Integrated Programming Environment New Features
The Sun WorkShop 6 integrated programming environment included the following new and changed features.
- Text Editing
- The balloon expression evaluator instantly shows you the current value of the expression at which your cursor is pointing in your text editor. You can also see the type of expression and dereference the pointer through the balloon expression evaluator feature. For more information, see Using the Balloon Expression Evaluator in the Text Editing section of the online help.
- The NEdit and Vim text editors are new integrated text editors for this release.
- Debugging a Program
- The Button Editor now allows you to customize the toolbars in your editor window and the Debugging window, in addition to adding, removing, and editing buttons in the Custom Button window.
- The Data History pane in the Debugging window has been replaced with tabs for Data History and Program I/O and an optional Data Display tab. The radio buttons for switching the Sessions and Threads panes have been replaced by tabs for Sessions, Threads, and Breakpoints.
- In the Debugging Options dialog box, the Category list box has been replaced with tabs at the right side of the dialog box for switching among the categories of options.
- New debugging options:
- You now choose to direct program input or output to the Program I/O tab in the Debugging window.
- You can now choose to have the call stack pop to the first debuggable source code if execution stops in a function in your program that is not debuggable source code.
- You can now choose to set the step granularity to Line, so that a single next command steps through a line regardless of the number of statements it includes.
- By default, the State, Stopped In, Evaluation Context, and number of sessions information is no longer displayed below the toolbar, but you can choose to display this information.
- You can choose to not have the debugger warn you if the main () module of your program is not compiled with debugging information.
- You can choose to have the Data Display window shown as a tab in the Debugging window or as a separate window.
- You can delay the loading of modules compiled with -xs until the debugging information for these modules is needed, rather than having the modules loaded during the startup of the debugging session.
- If you want to debug processes with a large number (up to 300) LWPs (lightweight processes), you can now set debugging to be conservative in its resource usage when doing so.
- You can choose not to have the debugger check that dbx has exclusive control of the program being debugged.
- You can choose to allow the debugger to exclude certain shared libraries that are critical to dbx functionality.
- The option to allow watchpoints in multithreaded programs has been removed from the Debugging Options dialog box.
- Working With Projects
The Sun WorkShop 6 release of the integrated programming environment uses projects to track the files, programs, and targets associated with your development projects and to build your programs without the necessity of you writing a makefile. The new command makeprd(1) is a command-line utility that lets you build your Sun WorkShop project files outside the programming environment.
Components or features to be removed in the future. The following Forte Developer components or features are expected to be removed in the next major release:
- Project wizard and support for project (.prd) files
- Source browser graphical user interface
- Data visualizer/array grapher
- The maketool(1) binary
- Jobs grapher
- Support for NEdit and GNU Emacs text editors (XEmacs will continue to be supported)
D. Software Corrections
There is no new information at this time.
E. Problems and Workarounds
This section discusses known software problems and possible workarounds for those problems. For updates, check the Forte Developer Hot Product News web page at http://www.sun.com/forte/developer/hotnews.html.
This section is divided into the following subsections:
- Sun WorkShop Problems and Workarounds
- Building Problems and Workarounds
- Browsing Problems and Workarounds
- Debugging Problems and Workarounds
- Editing Problems and Workarounds
- NEdit Problems and Workarounds
- Vi Problems and Workarounds
- Vim Problems and Workarounds
- File Chooser Problems and Workarounds
- Data Visualizer Problems and Workarounds
Sun WorkShop Problems and Workarounds
- If you are running the Sun WorkShop integrated programming environment in the Solaris 8 operating environment with patch 109142-02 installed, Sun WorkShop components, in particular the debugger and the vi editor, dump core. In the case of the debugger, the integrated development environment freezes, and a dialog box displays a message that the program found it necessary to dump core. In the case of the editor, a dialog box states that eserve has died. Various error messages might be displayed in the console window.
Workaround: Set the LD_LIBRARY_PATH environment variable to /opt/SUNWspro/WS6U1/lib:$LD_LIBRARY_PATH before starting Sun WorkShop tools. (If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.)
- The Sun WorkShop integrated programming environment dumps core during startup if you specify more than 1024 file descriptors in your /etc/system file.
Workaround: Change set rlim_fd_max to 1024 or less and reboot.
- The man <man-page-name> command might return the error message:
No manual entry for man page
Workaround: Try the following man command:
man -F <man-page-name>
- Motif uses F10 to highlight a menu name. If you remap your function keys, do not remap the F10 key.
Building Problems and Workarounds
- The .IGNORE makefile directive causes the Dmake Jobs Graph to ignore failed compiles and mark them as if they succeeded. The make -k option does not have this problem and can be used instead of the .IGNORE makefile directive.
- By default, the Sun WorkShop integrated programming environment uses distributed make (dmake) to build all projects and build targets. If you wish to use make rather than dmake, be aware that a problem might occur in the Solaris 2.6 and 7 operating environments when compiling C++ sources that include standard C++ include files without a .h suffix (for example, iostream). The Sun WorkShop 6 C++ compiler and the Sun WorkShop 5.0 C++ compiler save the dependency between iostream and another include file iostream.cc into the interface file .make.state. If you have .KEEP_STATE in your makefile, make reads .make.state to find the hidden dependencies and tries to rebuild target iostream using the default Single Suffix Rule: CC -o /opt/SUNWspro/WS6U1/include/CC/istream /opt/SUNWspro/WS6U1/include/CC/istream.cc.
This behavior will cause the compilation to fail.
Workaround: Use dmake instead of make in the Solaris 2.6 and Solaris 7 operating environments (this make utility in the Solaris 8 operating environment has been updated). If you do not want to perform distributed builds, run dmake in serial mode:
dmake -m serial
Browsing Problems and Workarounds
- The SourceBrowserEngine (the backend process for the Source Browser) occasionally gets out of synch with the Source Browser database. When this happens, the engine will often core dump. It might core dump when rebuilding the index. If the SourceBrowserEngine core dumps, you might be able to resolve the problem by removing the Browser database and rebuilding with the -xsb option.
To remove the Browser database:
- Go to the top level source directory of your application.
- Type the following at a command line:
find . -type d \( -name sb_Index -o -name sb_Refd \ -o -name sb_OldRoot -o -name sb_NewRoot \) \ -exec rm -rf {} \;Debugging Problems and Workarounds (See Also the Sun WorkShop 6 update 2 dbx Readme)
- For the Solaris operating environment (Intel Platform Edition): Sun WorkShop might dump core when debugging multiple processes simultaneously.
For both the Solaris operating environment (Intel Platform Edition) and the Solaris operating environment (SPARC Platform Edition): Tab characters are not handled correctly in the Program I/O window.
Both of these problems are caused by problems in the libDtTerm.so library.
Workaround: Download these patches from http://sunsolve.sun.com:
Solaris 2.6 (SPARC) operating environment:
105160 (dtterm)
105284 (motif runtime)
Solaris 2.6 (Intel) operating environment:
105161 (dtterm)
105285 (motif runtime)
Solaris 7 (SPARC) operating environment:
107094 (dtterm)
107081 (motif runtime)
Solaris 7 (Intel) operating environment:
107095 (dtterm)
107082 (motif runtime)
Solaris 8 (SPARC) operating environment:
108940 (motif runtime)
Solaris 8 (Intel) operating environment:
108941 (motif runtime)
- Data Evaluation from the Data Display is not affected by the Include inherited members debugging option.
Editing Problems and Workarounds
- A compile-time error message might contain double quotes, such as: The type "foo" is incomplete. If so, the double quotes in the error messages might appear as quot; in the editor footer.
NEdit Problems and Workarounds
- The version of NEdit in the Sun WorkShop 6 integrated programming environment is 5.1 beta (plus some bug fixes) because the final version of NEdit 5.1 was not available.
Workaround: To get an updated Sun WorkShop integrated version of NEdit 5.1, go to ftp://ftp.nedit.org and navigate to:
/pub/contrib/misc/SunWorkShop/neditSW-5.1.1-source.tar.gz
/pub/contrib/misc/SunWorkShop/neditSW-5.1.1-sparc.tar.gz
/pub/contrib/misc/SunWorkShop/neditSW-5.1.1-x86.tar.gz- Text files might be converted to DOS files.
Workaround: This is an NEdit 5.1 beta bug that has been fixed in the version that is available from NEdit's ftp site (ftp://ftp.nedit.org).
- Opening multiple NEdit windows might cause parts of the window to be corrupted.
Workaround: Resizing the window might solve this problem.
The problem seems to be related to Motif 1. If you are using the Solaris 7 or Solaris 8 operating environment, you can recompile NEdit yourself, which will fix the problem. By recompiling, NEdit will use Motif 2 which does not have this problem. To compile your own version of NEdit:
- Get the latest version of the source code from the following ftp://ftp.nedit.org site:
/pub/contrib/misc/SunWorkShop/neditSW-5.1.1-source.tar.gzThen, type the following commands:
cp neditSW-5.1.1-source.tar.gz /tmp
cd /tmp
gzip -d neditSW-5.1.1-source.tar
mv neditSW-5.1.1-source.tar nedit_source.tarOr -- if getting the source from the ftp site is not possible -- go to /opt/SUNWspro/contrib/contrib6/NEdit5.1/src. (If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.) Then, type the following commands:
cp nedit_source.tar.Z /tmp
cd /tmp
uncompress nedit_source.tar.Z
- Type the following commands:
tar xvf nedit_source.tar
cd nedit_source
- Customize the nedit_source/makefiles/Makefile.WorkShop file to set the macro WORKSHOP to point to your Sun WorkShop installation directory. (It needs to find some additional source files, like the sources to the Xpm library).
- Type make.
- In the Solaris 2.6 operating environment (SPARC Platform Edition), there is a long delay before the NEdit window displays.
Workaround: Download this patch from http://sunsolve.sun.com:
Solaris 2.6 (SPARC):
105284 (motif runtime)
Solaris 2.6 (Intel):
105285 (motif runtime)
Installing the patch will improve performance dramatically. The patch also enables a resource, NEdit*XmMenuReduceGrabs. Setting this resource to True will eliminate the delay completely. You can add the line NEdit*XmMenuReduceGrabs: True to your .Xresources or .Xdefaults file.
Vi Problems and Workarounds
- Sometimes moving the cursor over highlighted text causes the highlight to disappear.
Workaround: Use Control+L to refresh.
- You cannot traverse the vi buttons using the tab/arrow mechanisms.
- Using File > Save As causes the new file to be loaded into vi. Unsaved changes in the original file are not saved.
Workaround: Save the original file before saving it as another file name.
- Jumping to tags might not operate correctly.
Vim Problems and Workarounds
- Occasionally, the display in the Vim editor window becomes garbled, and text displays out of place.
Workaround: Type Control-L.
File Chooser Problems and Workarounds
- Changes to the current directory might not be reflected in the file chooser file list.
Workaround: Click Update to view the current list.
Data Visualizer Problems and Workarounds
- In order to graph data in arrays of dimension 3 or greater, a one- or two-dimensional slice of the array must be specified.
- The array dimensions must be known at compile time. For example, you have a dynamically allocated array that is 50x50 integers starting at position data. You cannot use a cast to get the Visualizer to display it, as in
*(int (*)[50][50]) data
However, this will work for the Evaluate window and the Data Display windows.
Workaround: Using fix and continue, insert the following line in the code:
int (*fixedSizeArray)[50][50] = (int (*)[50][50]) data;
You can now graph *fixedSizeArray. This forces you to recompile every time the (dynamic) dimensions of the array changes.
- C does not allow arbitrary dimensions to be sliced; Fortran does allow this.
F. Limitations and Incompatibilities
This section discusses limitations and incompatibilities with systems or other software.
Browsing Limitations and Incompatibilities
- You must use a database stored in the SunWS_cache directory (or the directory set by the SUNWS_CACHE_NAME environment variable) to use Sun WorkShop 6 Source Browsing. A database created with Sun Compilers 4.2 must be moved to the correct directory or be regenerated by recompiling the application. Sun WorkShop 6 Source Browsing works with all databases generated from Sun Compilers 4.2 and 5.0.
- The .sbinit file has been renamed to sb_init and is now stored in the SunWS_config directory (or the directory set by the SUNWS_CONFIG_NAME environment variable). If you attempt to use source browsing without renaming your .sbinit file and moving it to the correct directory, Source Browsing displays the following warning:
Your .sbinit file must renamed before it will be used.
- The SPARC version of Sun WorkShop tools is incompatible with the Intel version when Source Browsing. A source browser database generated on X86 cannot be used when browsing on a SPARC; the reverse is also true. Intermixing databases from these architectures can cause a segmentation fault (SEGV) in the browser.
Debugging Limitations and Incompatibilities (See Also the Sun WorkShop 6 update 2 dbx Readme)
- Using older copies of libC.so.5 might cause problems for dbx in the area of C++ exceptions. Warning messages about bad stabs and unhandled exceptions might result.
Workaround: Link libC statically (use the option -staticlib=libC) or install the latest libC.so.5 patch on all systems. For more information about the shared library patch for C++, see the Sun WorkShop 6 update 2 Release Notes (see file:/opt/SUNWspro/docs/index.html for how to access the release notes). If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.
- The Dbx Commands window might show error messages and warnings not otherwise seen in the Debugging window. If the Debugging window does not work as expected, look in the Dbx Commands window for more information.
- Fortran users should compile with the -stackvar option to take full advantage of runtime checking. Some programs might not work properly with -stackvar. In such cases, try the -C compiler option, which turns on array subscript checking without runtime checking.
- The Attach Process filter uses an ed-style filter syntax instead of shell-style. The regular expression ``.*'' matches everything, while ``*'' matches nothing. For example, to filter for a particular program progname, use .*progname or progname.
- Some Runtime Checking functionality is only accessible through the Dbx Commands window, including suppress and unsuppress. You can suppress the last error using the Suppress Last Reported Error button in the Runtime Checking window.
- PortSocket warnings similar to the following may appear and can be safely ignored:
# workshop: warning: PortSocket::snd(): write() failed -- Broken pipe
# workshop: warning: PortSocket::snd(): sz=8 fd=21.- Persistent breakpoints are not restored when you attach to a process. Sun WorkShop cannot determine the full path name of the process, so it does not detect the breakpoint information for the process. Also, if your application calls exec() in a signal handler to restart itself, the debugger does not recognize the new process image as the same executable as the old process and does not restore the breakpoints.
Workaround: Type status -s at a command line to display a list of breakpoints set for the process, and copy the list into a file. When you restart the process, type source <filename> to restore the persistent breakpoints.
- Runtime checking and watchpoints (stop modify in dbx) should not be used together. There is a multiplicative slowdown effect. From the main window, choose Options > Debugging Options, then choose the category Forks and Threads, and set the toggle to off for "Allow Watchpoints in Multithreaded Programs."
Collector Limitations and Incompatibilities
- The Sampling Collector and Runtime Checking cannot be used during the same program run. You will get the following message:
The collector and Runtime Checking cannot be mixed.
Doing `uncheck -all' will allow use of collector in the next run.To turn off runtime checking, choose Checks > Disable Access Checking and Checks > Disable Memuse Checking in the Debugging window.
Visual Limitations and Incompatibilities
- There are many user widget integrations supported. See the readmes in /opt/SUNWspro/WS6U2/user_widgets/* for information about the specific integrations. If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.
Editing Limitations and Incompatibilities
- The Save All Files Before Build option, which you set through the Text Editor Options dialog box, is only available for XEmacs.
G. Documentation Errors
There is no information at this time.
Copyright 2001 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303, U.S.A. All rights reserved.
Sun, Sun Microsystems, the Sun logo, docs.sun.com, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries.