Sun(TM) WorkShop(TM) Release Notes Page 1 1. Sun WorkShop Release Notes These release notes are intended to provide you with last minute information relevant to this Sun WorkShop 5.0 release, and also contain tips and troubleshooting hints for error conditions. The READ_ME_FIRST file located on the Sun WorkShop 5.0 Web site and the product CD (/cdrom/devpro_v6n1_/READ_ME_FIRST) contains later information than these release notes. To send comments: Please use the Help >> Send Comments dialog box to send suggestions or comments about this release to the WorkShop development team. Table of Contents New Features and Changes Briefly describes new features and changes in this release of Sun WorkShop Where To Find Where to find important information, including README's, patches, operating environments, and sample programs. User Tips Hints to help you get started with Sun WorkShop. Software Incompatibility Incompatibilities with other software programs that may impair your ability to use Sun WorkShop. Known Limitations Known limitations in the software and any workarounds. TeamWare Errata Miscellaneous information not included in the documentation. Documentation Errata Errors in the documentation. Sun(TM) WorkShop(TM) Release Notes Page 2 2. New Features and Changes This release of Sun WorkShop includes the following new features and changes: * Web Updates Dialog Box * Sun WorkShop Memory Monitor * Sun WorkShop Main Window * Building * Debugging * Browsing * DistributedMake * Merging 2.1. Web Updates Dialog Box The Web Updates dialog box lets you display updated information about Sun WorkShop using your Web browser. 2.2. Sun WorkShop Memory Monitor The Sun WorkShop Memory Monitor is a garbage collection and memory management tool that runs from its own browser-based interface to automatically report on and fix memory leaks, memory fragmentation, and premature frees in your application. For complete documentation on using the Sun WorkShop Memory Monitor, see /SUNWspro/SC5.0/htmldocs/locale/C/gc/start.html. 2.3. Sun WorkShop Main Window * The Exit WorkShop menu item has been moved to the bottom of the WorkShop menu. * The new Window Layout dialog box (displayed through the new Window Layout menu item on the Options menu) lets the user save a window layout for Sun WorkShop to use every time it starts up. Sun(TM) WorkShop(TM) Release Notes Page 3 * The Edit Run Parameters menu item has replaced the Edit Arguments and Edit Program Information menu items on the Debug menu. * Selecting Exit from a Sun WorkShop tool menu stops the operation that may be in progress, closes the window associated with the tool and releases resources held by the tool. The context of the current operation is not retained. In contrast, selecting Close from a Sun WorkShop tool menu simply closes the window associated with the tool without destroying context. 2.4. Building * The Exit Building menu item has been added to the Build menu in the Building window, and the Close menu item has been moved to bottom of the menu, just above Exit Building. * Dependency Tree functionality has been removed from the Building window. 2.5. Browsing * The Exit Browsing menu item has been added to the Browse menu in the Browsing window, and the Close menu item has been moved to bottom of the menu, just above Exit Browsing. * The new SUNWS_CONFIG_NAME environment variable allows you to specify the name of the directory to which the sb_init file (as well as other configuration files generated by Sun WorkShop tools or created manually) is written. By default the file is written to the SunWS_config directory, a subdirectory of the directory in which you compile your application. * The new SUNWS_CACHE_NAME environment variable allows you to specify the name of the directory to which the source browser database generated by the compiler (as well as other files automatically create by Sun WorkShop) is written. By default the file is written to the SunWS_cache directory. * The new Source Browser Options dialog box allows you to specify the name of the cache directory (that is, set the SUNWS_CACHE_NAME environment variable, and the name of the config directory (that is, set the SUNWS_CONFIG_NAME environment variable). * The name of the .sbinit file has been changed to sb_init and the Sun(TM) WorkShop(TM) Release Notes Page 4 file is now stored in the SunWS_config directory (or the directory set by the SUNWS_CONFIG_NAME environment variable). * The source browser database generated by the compiler is now stored in SunWS_cache directory (or the directory set by the SUNWS_CACHE_NAME environment variable). * The Pattern Search mode in the Browsing window now uses the sb_init file in the SunWS_config directory (or the directory set by the SUNWS_CONFIG_NAME environment variable) to search in multiple directories, applying the Files filter to each directory. * The Class Graph window and Call Graph window have new buttons for expanding and collapsing the graph. * When you add an item in the Class Graph or Call Graph window, that item becomes selected. * The Pattern Search Files filter for a program is now stored as part of the WorkSet. 2.6. Debugging * The Dbx Commands window is displayed now, by default, as a pane of the Debugging window. You can choose to display it as a separate window in the Window Layout category of the Debugging Options dialog box. * The Exit Debugging menu item has been added to the Debug menu in the Debugging window, and the Close menu item has been moved to bottom of the menu, just above Exit Debugging. * The Edit Run Parameters menu item has replaced the Edit Arguments and Edit Program Information menu items on the Debug menu. * The Show Function Arguments menu item has been added to the Stack menu in the Debugging window to allow you to turns verbose stack information on or off for the current debugging session only. * The Threads pane in the Debugging window is now the Threads/Sessions pane and includes radio buttons that let you use the pane to display either threads or session information. The Sessions display in this pane displays all the information you see in the Active Sessions dialog box. All the buttons available in the Active Sessions dialog box are available here through a pop-up menu you can display with the right mouse button. * The On Access breakpoint type has been added. This feature is Sun(TM) WorkShop(TM) Release Notes Page 5 available with Solaris 2.6 and Solaris 7, and allows you to stop before or after a given memory location is read, written, or executed. * The new Button Editor lets user add buttons to, or remove buttons from, or edit buttons in, the Custom Buttons window. The Button Palette gives you access to ``built-in buttons'' that perform WorkShop operations as well as dbx commands. * The Button Editor and Session Manager menu items have been added to the Windows menu in the Debugging window. * In the Debugging Behavior category of the Debugging Options window, you can now choose to save your breakpoints to be reinstated in your next debugging session of the same program * The Window Behavior category has been added to the Debugging Options dialog box. This category lets you choose to bring the editor window to the front when a breakpoint is reached (since the editor window is no longer always at the front), to open and bring to the front the Program I/O window or the Run Time Checking window when its contents change, and to open the Breakpoints window when persistent breakpoints are reinstated. * In the Data Display Windows category in the Debugging Options dialog box, you can now choose to have the pop-up window open along with the Data Display window when you display an aggregate data structure. * In the Runtime Checking category in the Debugging Options dialog box, you can now set the stack depth for memory use and leak reports. * The Memory Use Checking and Access Checking windows have been combined into the Runtime Checking window, which also includes a Suppress Last Reported Error button, a Checks menu with items to enable/disable memuse and access checking, and an Options menu with an item that displays the Runtime Checking category of the Debugging Options dialog box. * The Pop Last Debugger Call menu item has been added to the Stack menu to pop stack frames that are part of a user's debugger call. 2.7. DistributedMake * Distributed Make (dmake) now provides the ability to specify a different dmake execution path for each build server. The default behavior is to assume that the dmake support binaries are located Sun(TM) WorkShop(TM) Release Notes Page 6 on the build server in the same logical path as the dmake host. Alternate paths for build servers may be specified in the ~/.dmakerc file as a host attribute. For example: group sparc_cluster { host wren { jobs = 10 , path = "/set/dist/sparc-S2/bin" } host stimpy { path = "/opt/SUNWspro/bin" } } * The names of groups and hosts specified in the ~/.dmakerc file may be enclosed in double quotes. This is to allow more flexibility with respect to the character sequences that may appear as part of the group and host names. For example, if the name of the group starts with a digit it should be double-quoted: group "123_sparc" * A new special target is now recognized by Distributed Make (dmake) to force execution of a given task to occur on the local host (the system from which dmake was invoked). If the special target called .LOCAL is defined in the makefile, dmake processes all its dependencies serially (similar to the .NO_PARALLEL target) on the local host. Consider the following makefile segment: .LOCAL : $(PROG) $(PROG) : $(OBJ) $(LINK) -o $@ $(OBJ) In this case, target $(PROG) will be built on a local machine while $(OBJ) targets can be build on different hosts. Usage Note OS levels and architectures of the multiple remote build servers should be the same. In addition, all files required by DMake must be accessible from all machines selected. 2.8. Merging * The display performance has been vastly improved. This is especially evident when merging very large files. * Merging now provides enhanced navigation features to facilitate the merging process. Both ``diff navigation'' options and text navigation options are available from the Navigate menu, and also by popup menu from clicking the right mouse button on any of the Sun(TM) WorkShop(TM) Release Notes Page 7 three Merging text panes. New text navigation features include the ability to search for a given text string, display the current line number(s), and go to a specific line number. * New options have been added to Merging allowing customization of tab stops, and control over diff behavior. For example, the differencing engine can be directed to ignore letter case and/or trailing or embedded white space. These new options are available from the Merging Options menu. * The Reload button is now added to the Merging window when Merging is invoked by a Resolve transaction in Configuring. This button lets you ask Merging to abandon all edits that have been performed on the two files and reload them from disk, and to automatically resolve any non-conflicting differences if the Auto Merge option is selected. Sun(TM) WorkShop(TM) Release Notes Page 8 3. Where To Find Where to find the following information: Documentation See the online help or the man pages. For information on hardcopy, Answerbook2 , and HTML manuals, choose WorkShop Manuals on the Sun WorkShop Help menu. Patches In the Patch directory on the CD. Operating Environment In the Installation Guide located on the product CD (/cdrom/devpro_v6n1_/Install_Guide.ps). Recommended Compilers In the Installation Guide located on the product CD (/cdrom/devpro_v6n1_/Install_Guide.ps). Registration From the splash screen or choose Help >> About. README's Check the directory //SUNWspro/READMEs where the default is /opt. Although these release notes contain the important information from these README's, each provides a more detailed view of changes, improvements, and limitations of the latest version of the tool: * TeamWare 2.1 * Dbx 5.0 * Visual 5.0 * C Compiler 5.0 * C++ Compiler 5.0 * Fortran f77 Compiler 5.0 * Fortran f90 Compiler 2.0 * Tools.h++ 7.0 * Performance Analyzer 5.0 Sun(TM) WorkShop(TM) Release Notes Page 9 * LockLint 2.2 * LoopTool 2.2 The READ_ME_FIRST file located at on the product CD (/cdrom/devpro_v6n1_/READ_ME_FIRST) contains later information than these release notes or any of the README's in //SUNWspro/READMEs. Sun(TM) WorkShop(TM) Release Notes Page 10 4. User Tips * How can I tell what an icon does? * How does WorkShop manage windows? * How do I start Dbx from within WorkShop? * How do I run a program from the Debugging window? * How do I set a breakpoint? * How do I change the font, color, or cursor blink? 4.1. How can I tell what an icon does? When you move the mouse over a button on the WorkShop window toolbar, the purpose of the button is explained in the footer of the window. 4.2. How does WorkShop manage windows? Layout By default, Sun WorkShop remembers its window layout at the time you exit WorkShop; the next time you start up WorkShop, that layout is used. You can use the Window Layout dialog box to specify a window layout you want Sun WorkShop to use every time you start it up. To display the Window Layout dialog box, choose Options -> Window Layout in the Sun WorkShop main window. For information on using the Window Layout dialog box, see Window Layout Dialog Box in the online help. Minimization You can iconize all your open WorkShop windows except for the main window at the same time by selecting WorkShop>>Minimize All Windows from the main window. To re-open them, select WorkShop>>Restore Minimized Windows. 4.3. How do I start Dbx from within WorkShop? You start a dbx process within Sun WorkShop every time you load a How do I start Dbx from within WorkShop? Section 4.3. Sun(TM) WorkShop(TM) Release Notes Page 11 program for debugging in the Debugging window. By default, the Dbx Commands window is now displayed as part of the Debugging window (below the Stack pane). You can choose to have it displayed separately by setting Show Dbx Commands Window in a separate window to Yes in the Window Layout options category in the Debugging Options dialog box. If you have chosen to have the Dbx Commands window displayed separately, you can open it from the Debugging window when you have a program loaded for debugging. Choose Windows>> Dbx Commands. You can enter any Dbx command in the Dbx Commands window. This is also where you can view certain details on your debugging status beyond what is shown by WorkShop, such as libraries read while a program is running. You can also set an option to bring up the Dbx Commands window automatically whenever WorkShop is started. From the WorkShop main window, choose Options>> Debugging Options>> Window Layout. Click the checkbox next to Dbx Commands Window. You can bring up a Debugging session automatically when you start WorkShop by typing: workshop -D a.out. This starts a session of WorkShop with your program loaded in dbx, as well as the source file in your default editor if the program was compiled for debugging. For other options for starting WorkShop, refer to the workshop(1) man page by typing: man workshop at the command line. 4.4. How do I run a program from the Debugging window? Once a program is loaded for debugging, you can start running it by: * Clicking on the Start arrow on the toolbar in the editor or Debugging window. * Choosing Execute>> Start in the Debugging window. * Typing run in the Dbx Commands window. 4.5. How do I set a breakpoint? You can set breakpoints from the editor window using the stop sign icons or the Workshop>> Breakpoints submenu. You can set more advanced breakpoints from the Breakpoints window. Open Sun(TM) WorkShop(TM) Release Notes Page 12 the Breakpoints window using Windows>> Breakpoints or Execute>> Set Breakpoints. 4.6. How do I change the font, color, or cursor blink? You can change fonts and colors for Sun WorkShop by editing the resource files WORKSHOP and ESERVE. Each resource file has two variations, one for CDE (Common Desktop Environment) and one for non- CDE. The files are located in the following directories in your Sun WorkShop installation directory (the default installation directory is /opt): /opt/SUNWspro/WS5.0/lib/locale//app-defaults/CDE /opt/SUNWspro/WS5.0/lib/locale//app-defaults/non-CDE If you don't have permission to modify these files, create copies in your home directory and modify them. The files in your home directory will override the files in the installation directory. Cursor blink may be turned off using the Dbx command window, the Program I/O window, or the vi editor via the ``*DtTerm.blinkRate'' resource. To stop the cursor from blinking, set it to 0. In the ESERVE resource file: ! Set cursor blink rate in terminal emulator windows ! like the VI windows. Time in milliseconds, 0 means no blinking ESERVE*DtTerm.blinkRate: 250 In the WORKSHOP resource file: ! Set cursor blink rate in terminal emulator windows ! like DBX Commands window and PIO window. Time in ! milliseconds, 0 means no blinking WORKSHOP*DtTerm.blinkRate: 250 How do I change the font, color, or cursor blink? Section 4. Sun(TM) WorkShop(TM) Release Notes Page 13 5. Software Incompatibility * WorkShop Incompatibilities * Browsing Incompatibilities * Debugging Incompatibilities * Visual Incompatibilities * LockLint Incompatibilities * LoopTool Incompatibilities * For Fortran f77 compiler incompatibilities, see the Fortran f77 README in the directory /install_dir/SUNWspro/READMEs. * For C++ compiler incompatibilities, see the C++ README in the directory /install_dir/SUNWspro/READMEs. 5.1. WorkShop Incompatibilities General File Descriptor Allocation WorkShop core dumps during start-up if you specify more than 1024 file descriptors in your /etc/system file. Workaround: * Change the line: set rlim_fd_max = file descriptor to 1024 or less and reboot. See Also WorkShop Limitations Sun(TM) WorkShop(TM) Release Notes Page 14 5.2. Browsing Incompatibilities Database Versions 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 Source Browsing 5.0. A database created with Sun Compilers 4.2 or Sun Compilers 5.0 Early Access or Developer release must be moved to the correct directory, or be regenerated by recompiling the application. Sun WorkShop Source Browsing 5.0 works with all databases generated from Sun Compilers 4.2 and 5.0. .sbinit File 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 do source browsing with WorkShop Source Browsing 5.0, and have not renamed your .sbinit file and moved it to the correct directory, Source Browsing displays the following warning: Your .sbinit file must renamed before it will be used. Platform Version The SPARC version of Sun WorkShop is incompatible with the Intel version when Source Browsing. A source browser database generated on X86 cannot be used when browsing on a SPARC, and vice versa. Intermixing databases from these architectures can cause a segmentation violation (SEGV) in the browser. See Also Browsing Limitations 5.3. Debugging Incompatibilities General * Using older copies of libC.so.5 may cause problems for dbx in the area of C++ exceptions. Warning messages about bad stabs and unhandled exceptions may result. Workaround: Link libC statically, (use the option -staticlib=libC), or install the latest libC.so.5 patch on all systems. The latest patch numbers are listed in the READ_ME_FIRST file on the Sun WorkShop 5.0 Web page and on the product CD. Type 'CC -readme' for Sun(TM) WorkShop(TM) Release Notes Page 15 more information about the libC.so.5 patch. * Dbx may fail to find files that are accessed through non-generic automounter paths. See the pathmap command for help in dealing with these unusual directory mappings. * The profiling feature of the Sampling Collector is broken on the X86 Solaris 2.5 platform. The latest version of kernel patch 103094 fixes this problem. Contact Sun Service to obtain the patch. Run Time Checking (RTC) * Fortran users should compile with the -stackvar option to take full advantage of RTC. Note: Some programs may not work properly with -stackvar. In such cases, users may wish to try the -C compiler option, which turns on array subscript checking without RTC. * RTC and watchpoints (stop modify in dbx) should not be used together. There is a multiplicative slowdown effect. From the WorkShop main window, choose Options -> Debugging Options, then choose the category Forks and Threads, and set the toggle for ``Allow watchpoints in multithreaded programs'' to off. Multithreaded applications * On Solaris 2.5.1 (not on Solaris 2.6 and 2.7), using watchpoints (stop modify in dbx) requires the ``Allow watchpoints in multithreaded programs'' option to be set to On. Use of watchpoints with multithreaded applications may cause the program to hang. From the WorkShop main window, choose Options -> Debugging Options, then choose the category Forks and Threads. You can also set it using the dbxenv variable mt_watchpoints. For More Information See the dbx README in the directory /install_dir/SUNWspro/READMEs. See Also Debugging Limitations Sun(TM) WorkShop(TM) Release Notes Page 16 5.4. Visual Incompatibilities WorkShop Visual 5.0 requires one of the following configurations: SPARC and X86 * Solaris 2.5.1 and the Motif runtimes from the corresponding Solaris release. * Solaris 2.6 and the Motif runtimes from the corresponding Solaris release. * Solaris 7 and the Motif runtimes from the corresponding Solaris release. The following XRT widgets (XRT Product CD Vol. 5) are supported: XRT/graph 2.4.0 XRT/3d 2.1.0 XRT/table 2.2.0 The complete INT widget set, version 3.3, is supported by WorkShop Visual. Files are provided to enable integration with the INT widgets. For more information, see /install_dir/SUNWspro/WS5.0/user_widgets/INT. For More Information See the Visual README in the directory /install_dir/SUNWspro/READMEs. See Also Visual Limitations 5.5. LockLint Incompatibilities * Available for SPARC only. * Requires at least Sun Compilers 5.0. See Also LockLint Limitations Sun(TM) WorkShop(TM) Release Notes Page 17 5.6. LoopTool Incompatibilities * Available for SPARC only. * Requires at least Sun Compilers 5.0. See Also LoopTool Limitations Sun(TM) WorkShop(TM) Release Notes Page 18 6. Known Limitations * WorkShop Limitations * Building Limitations * Browsing Limitations * Collector Limitations * Debugging Limitations * Editing Limitations * File Chooser Limitations * XEmacs Limitations * vi Limitations * Data Visualizer Limitations * Sampling Analyzer Limitations * Visual Limitations * LockLint Limitations * LoopTool Limitations * For C++ Compiler limitations, see the C++ README in the directory /install_dir/SUNWspro/READMEs. Sun(TM) WorkShop(TM) Release Notes Page 19 6.1. WorkShop Limitations * When trying to view a man page with the command: man man-page-name you may see the error message: No manual entry for man page Try the man command again adding the -F option: man -F man page * Dialog boxes may appear too wide for your screen. If libXm.so.3 is non-CDE, then \n may not be handled correctly. Run ldd workshop in the environment. Run /usr/ccs/bin/mcs -p libXm.so.3. If it does not return something similar to: "CDEVersion1.0.1":sparc:29Sep95-11:18:15 followed by multiple pages of information, then you need to unset LD_LIBRARY_PATH or set it so that a CDE version of this library is found. * When starting WorkShop, an X error may occur if a bad X font path directory has been added. An application may have invalidated the former registered location. Workaround: Enter the following command in a shell: xset -q This identifies the Font paths available. Using the ls command, check each directory for the list of available fonts. When you find the invalid directory, remove it by typing: xset fp- directory_name * On Solaris 2.5.1, multiple uses of the index search in an online Sun(TM) WorkShop(TM) Release Notes Page 20 help window can cause WorkShop to core dump. * The Build window, the Stack pane of the Debugging window, and the Data Display windows use the right mouse button to extend selections. Shift-Select, the OpenWindows convention, does not work in these windows. * After an upgrade to ISDN, you may get a ToolTalk error message, and WorkShop may not start over the ISDN connection. Workaround: ps -aef | grep ttsession kill -9 PID of ttsession Then bring up ttsession from your machine: ttsession * Motif uses F10 to highlight a menu name. If you remap your function keys, avoid remapping the F10 key. * You may be unable to print from Help unless the CDE help print utilities are installed locally. If /usr/dt/bin/dthelpprint and /usr/dt/bin/dthelpprint.sh do not exist, then: * Identify the directory where WorkShop is installed. The default directory is /opt/SUNWspro. Let's call this . * Log in as root on the machine hosting the filesystem * Create a symbolic link from the directory where the WorkShop help print utilites are installed. Make sure to substitute the actual directory name for : ln -s /dt/bin/dthelpprint /usr/dt/bin/dthelpprint ln -s /dt/bin/dthelpprint.sh /usr/dt/bin/dthelpprint.sh See Also WorkShop Incompatibilities Sun(TM) WorkShop(TM) Release Notes Page 21 6.2. Building Limitations * The ``.IGNORE'' makefile directive causes the Dmake Jobs Graph to ignore failed compiles and mark them as if they succeeded. The ``- k'' make-command option does not have this problem and can be used instead of the ``.IGNORE'' makefile directive. 6.3. Browsing Limitations * The SourceBrowserEngine (the back-end process for the Source Browser) occasionally gets out of sync with the Source Browser database. When this happens the engine will often core dump. It may core dump when rebuilding the index. If the SourceBrowserEngine core dumps you can quite often resolve the problem by removing the Browser database and rebuilding with - xsb. To remove the Browser database: 1. Change directory to the top level source directory of your app. 2. Run the following command from a Unix shell: % find . -type d \( -name sb_Index -o -name sb_Refd \ -o -name sb_OldRoot -o -name sb_NewRoot \) -exec rm -rf {} \; See Also Browsing Incompatibilities 6.4. Collector Limitations 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. From the Debugging window, turn off RTC: Sun(TM) WorkShop(TM) Release Notes Page 22 * Choose Checks-->> Disable Access Checking. * Choose Checks-->> Disable Memuse Checking. 6.5. Debugging Limitations General * If you are running OpenWindows, before you can bring up help for the Breakpoints window, bring up help from somewhere else. From the Debugging window, choose Help -> Debugging. This only applies to OpenWindows users trying to get help from the Breakpoints dialog box for the first time after initializing WorkShop. * The Dbx Commands window may show error messages and warnings not otherwise seen in the Debugging window. If the debugger doesn't work as expected, look in the Dbx Commands window for more information. * Data Evaluation from the Data Display is not affected by the Include inherited members debugging option. * The Attach Process filter uses an ed-style filter syntax instead of shell-style. The regular expression ``.*'' matches everything, while ``*'' matches nothing. 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 RTC window. * PortSocket warnings similar to the following may appear: # workshop: warning: PortSocket::snd(): write() failed -- Broken pipe # workshop: warning: PortSocket::snd(): sz=8 fd=21. These can be safely ignored. * Persistent breakpoints are not restored when you attach to a process. Sun WorkShop cannot determine the full path name of a 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 Sun(TM) WorkShop(TM) Release Notes Page 23 image as the same executable as the old process and does not restore the breakpoints. Workaround: Type status -s 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. See Also Debugging Incompatibilities 6.6. Editing Limitations * If a compile-time error message contains double quotes, such as: The type "foo" is incomplete. the double quotes in the error messages may appear as quot; in the editor footer. 6.7. File Chooser Limitations * Changes to the current directory may not be reflected in the file chooser file list. Click Update to view the current list. 6.8. vi Limitations * Sometimes moving the cursor over highlighted text causes the highlight to disappear. If you see this, use Control+L to refresh. * You cannot traverse the vi buttons using the tab/arrow mechanisms. * Using File ->> Save As causes the newly saved as file to be loaded into vi. Unsaved changes in the original file are not saved. 6.9. XEmacs Limitations * XEmacs 20.4 may not work properly with your Emacs configuration file (~/.emacs). XEMacs does not promise to be compatible from release to release. If you have been using the sample .emacs file Sun(TM) WorkShop(TM) Release Notes Page 24 from XEmacs 20.0-b28, which was shipped in Sun WorkShop 4.0, and have not customized it, you may want to replace it with the new sample.emacs file from contrib/XEmacs20.4/lib/xemacs-20.4/etc. 6.10. LockLint Limitations See the LockLint README in the directory /install_dir/SUNWspro/READMEs. See Also LockLint Incompatibilities 6.11. LoopTool Limitations Inner/Outer Loop Times Loop times are measured as wallclock elapsed time. If a loop is parallelized, it is credited with the elapsed time for all of the instances of the loop. Thus, inner parallelized loops may sometimes be credited with more elapsed runtime than the outer loop that encompasses the parallelized loop. Source directory If looptool cannot find the source file for a selected loop, it prompts you for the source path. Choose any file in the source directory that contains the source file(s) for your program - it is not necessary to select the exact file name. See Also LoopTool Incompatibilities 6.12. Data Visualizer Limitations * In order to graph data in arrays of dimension 3 or greater, a 1 or 2 dimensional slice of the array must be specified. * The array dimensions must be known at compile time. For example, suppose 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. Sun(TM) WorkShop(TM) Release Notes Page 25 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. 6.13. Sampling Analyzer Limitations * If you try to load an experiment file from a different platform (SPARC if you are running on Intel, or Intel if you are running on SPARC), you will get the error message: Can't display an experiment with reverse byte order . 6.14. Visual Limitations * The color ``none'' in pixmap changes to ``white'' in generated code. * Motif does not support transparency; it must be hand coded. * OnSize handler not generated for drawing area for MFC Windows. * A built application displays Japanese text as junk characters. Workaround: Add the following resource setting to your .Xdefaults or app- defaults file for the built application: XApplication*fontList:\ -sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0; \-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0202.0976-0;\-*-lucida sans typewriter-medium-r-*-*-12-*-*-*-*-*-*: where XApplication is the application class name defined in the Visual ``Generate'' dialog. * Visual uses a naming scheme for unnamed widgets that generates names consisting of the widget type followed by a numeral; for example, text3 or button2. If you name a widget using this same Sun(TM) WorkShop(TM) Release Notes Page 26 scheme, then when Visual generates a C++ class header, it may leave out the widget you named. For example, it might leave out widgets named button3, text2, and menu1. However, widgets named okButton, name_text, and file_menu would be included in the class. Workaround: If a build fails with a compiler error message saying a variable of this type does not exist then you need to rename the widget so the Visual code generation is not confused. For More Information See the Visual README in the directory /install_dir/SUNWspro/READMEs. See Also Visual Incompatibilities Sun(TM) WorkShop(TM) Release Notes Page 27 7. TeamWare Errata * For TeamWare errata, choose Help ->> Release Notes from the TeamWare window. For More Information See the TeamWare README in the directory /install_dir/SUNWspro/READMEs. Sun(TM) WorkShop(TM) Release Notes Page 28 8. Documentation Errata * In the CDE Help viewer, after clicking through multiple links in the search window, you cannot return to an earlier linked help topic the second time.