HP-UX Programming Tools Release Notes For HP-UX 11.
Legal Notices The information contained in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material.
© Copyright 1979, 1980, 1983, 1985-1990 Regents of the University of California. This software is based in part on the Fourth Berkeley Software Distribution under license from the Regents of the University of California. Copyright © The Regents of the University of Colorado, a body corporate 1979 This document has been reproduced and modified with the permission of the Regents of the University of Colorado, a body corporate. © Copyright 1985-1986, 1988 Massachusetts Institute of Technology.
Contents 1. New and Changed Features Changes to Programming Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 HP PAK No Longer Shipped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 HP Blink Link No Longer Shipped . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 HP Distributed Debugging Environment (HP DDE) 4.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Summary of Changes in HP DDE 4.23 . . . . . . .
Contents Problems and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General limitations of HP DDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying Information for Classes in a Shared Library (aC++) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HP DDE and Compile-line -g option Limitations . . . . . . . . . . . . . . . . HP DDE and Emacs Escape Characters in ksh Mode . . . . . . . . . . . .
Contents HP PAK Puma Limitations Regarding Next Run of a Program . . . . .34 HP PAK Puma Problem with Signal Blocking and Multiple Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 HP PAK Puma Problem with Selecting Thread Type . . . . . . . . . . . . .
Contents viii
Preface This document describes the latest changes to and features of the HP DDE Version 4.23 debugger for HP-UX 11.x. This document contains the following information: • “New and Changed Features” on page 1 • “Installation” on page 11 • “Associated Documentation” on page 15 • “Problem Descriptions and Fixes” on page 19.
x
New and Changed Features Changes to Programming Tools 1 New and Changed Features The HP-UX Programming Tools includes the HP Distributed Debugging Environment (HP DDE) 4.23. This tool runs under the 11.x release of HP-UX on HP 9000 systems, operating on code generated by HP-UX 11.x compilers. NOTE HP DDE 4.23 will not operate on versions of HP-UX prior to 11.0. Additionally, HP DDE is no longer being enhanced. To ensure support for the latest HP-UX and compiler features, use the HP WDB debugger.
New and Changed Features Changes to Programming Tools HP Blink Link No Longer Shipped Technology improvements in HP compilers, such as the +objdebug option, have superseded the benefits provided by HP Blink Link. For this reason, HP is removing Blink Link from the HP C and HP Fortran compiler bundles. HP will continue to support Blink Link until December 2001, however, no further enhancements are planned.
New and Changed Features HP Distributed Debugging Environment (HP DDE) 4.23 HP Distributed Debugging Environment (HP DDE) 4.23 The HP Distributed Debugging Environment (HP DDE) 4.23 is a high-level language debugger for the HP-UX operating system. HP DDE 4.23 operates on object files generated by the HP C, HP C++, HP aC++, HP FORTRAN 77, HP Fortran 90, and HP Pascal compilers. HP DDE provides a powerful graphical user interface based on the OSF/Motif standard.
New and Changed Features HP Distributed Debugging Environment (HP DDE) 4.23 The default behavior of DDE in line mode is to follow the link (property follow -link). This displays the true source path instead of the symbolic link. The syntax for showing the symbolic link instead of the true source path is as follows: property follow -nolink For example, given a source file named helloworld.cpp with the following symbolic link: $ ll helloworld.cpp lrwxrwxr-x 1 1 user1 grp1 21 Apr 15 2000 helloworld.
New and Changed Features HP Distributed Debugging Environment (HP DDE) 4.23 Summary of Changes in HP DDE 4.22 HP DDE 4.22 is primarily a maintenance release, which includes only one new option. The -unsetenv command-line option is available for use with the debug and restart commands to unset or clear environment variables. The syntax for the option is: debug [-unsetenv env_var [,env_var]...] restart [-unsetenv env_var [,env_var]...
New and Changed Features HP Distributed Debugging Environment (HP DDE) 4.23 Summary of Changes in HP DDE 4.10 HP DDE 4.10 contained the following new features: • Kernel thread support • Hardware watchpoints • Changes to the Menu Bar These features are summarized below. For details, see the debugger online help. Kernel Thread Support HP DDE now supports the debugging of threaded applications that are implemented using kernel threads, as well as applications implemented using HP DCE threads.
New and Changed Features HP Distributed Debugging Environment (HP DDE) 4.23 Knowing how debugger commands operate is particularly important for kernel threads applications. • Execution Commands The go command operates on all enabled threads. In a kernel threads application, this means that the go, go -return, and go -until commands cause all enabled threads to run. The step, goto, and call commands operate only on the selected thread. All other threads remain stopped.
New and Changed Features HP Distributed Debugging Environment (HP DDE) 4.23 Hardware Watchpoints HP DDE 4.10 supports hardware watchpoints, which vastly improve the debugger's speed of execution when you use data watchpoints. With hardware watchpoints, the debugger uses hardware page protection to determine when the value of a variable changes. Hardware watchpoints can be set only on static data; they cannot be set on data stored in registers.
New and Changed Features HP Programmer's Analysis Kit (HP PAK) HP Programmer's Analysis Kit (HP PAK) This section is provided for customers with previous versions of the HP C and aC++ compiler who may still be using HP PAK (HP Programmer's Analysis Kit). The information summarized in this section covers earlier versions of HP PAK. Summary of Changes in HP PAK 7.20 HP PAK 7.20 supports both 32-bit and 64-bit development environments. NOTE XPS has been discontinued with this release.
New and Changed Features HP Programmer's Analysis Kit (HP PAK) • The default timer for Puma's Sampling Timer was changed from Wall-Clock to Virtual CPU. (See “HP PAK Puma Limitations with Sampling Timer” on page 33 for a description of these two timing methods and information about the limitations of wall-clock timing.
Installation Installation Instructions 2 Installation This chapter contains installation information for the HP-UX Programming Tools, including HP DDE 4.23. These tools are bundled with the HP FORTRAN 77, HP Fortran 90, HP C, HP C++, HP ANSI C++, and HP Pascal compilers. Installation Instructions To install your software, run the SD-UX swinstall command. This invokes a user interface that leads you through the installation.
Installation HP DDE 4.23 Filesets HP DDE 4.
Installation HP DDE 4.23 Supported Configurations HP DDE 4.23 Supported Configurations The following configurations are supported by HP DDE 4.23: • Installing and running locally from an HP-UX 11.x system. • Installing on an HP-UX 11.x system, with the display redirected to a remote HP-UX 9.x, 10.x, or 11.x node. NOTE HP DDE and SoftBench HP DDE 4.23 is supported by SoftBench 6.60. The HP DDE graphical user interface (GUI) is similar to the SoftDebug GUI.
Installation HP DDE 4.
Associated Documentation 3 Associated Documentation This document, HP-UX Programming Tools Release Notes, provides overview, installation, documentation, and problem information for HP DDE and HP PAK. These release notes are also online in the following directory: /opt/langtools/newconfig/RelNotes There may be differences between the hardcopy and online versions of these release notes. The hardcopy version contains the latest and most accurate information.
Associated Documentation HP Distributed Debugging Environment (HP DDE) HP Distributed Debugging Environment (HP DDE) The manual that supports HP DDE 4.23 is: HP/DDE Debugger User's Guide (B3476-90015) The man page is dde(1). HP DDE 4.23 also provides online command reference and task information through the HP Help System. Use the help command from the command line or select Help from the menu bar of the debugger.
Associated Documentation HP Programming Tools Information on the Web HP Programming Tools Information on the Web The corporate Hewlett-Packard web site, http://www.hp.com/, contains useful information about the HP-UX programming tools, including the following: • Debugging tools information, documentation, and product news: http://www.hp.com/go/debuggers • Performance analysis tools information, documentation and product news: http://www.hp.
Associated Documentation HP Programming Tools Information on the Web 18 Chapter 3
Problem Descriptions and Fixes Getting Information about Problems and Their Fixes 4 Problem Descriptions and Fixes This chapter provides information on known problems and fixes for HP DDE and HP PAK. It also describes a few of the known problems and limitations. NOTE HP PAK is not included with the newest version of the HP C and C++ compilers. Additionally, Hewlett-Packard is no longer making enhancements or changing previous versions of HP-PAK.
Problem Descriptions and Fixes Getting Information about Problems and Their Fixes • HPCPLUSPLUS for entries relating to HP C++ (cfront) and the programming tools. Use the following steps to look up information about problems and their fixes. Step 1. Once at the web site, enter your User ID and Password, then click Okay. Step 2. On the next page, click Technical Knowledge Database. Step 3. Verify that your Search Options include HPUX under System Type and Service Request under Document Type. Step 4.
Problem Descriptions and Fixes Problems and Limitations Problems and Limitations General limitations of HP DDE HP DDE does not debug the following types of code: • Executables compiled with +objdebug • Core files with Shared Memory (SHM) data • Executables linked with filter libraries Displaying Information for Classes in a Shared Library (aC++) When working with the HP aC++ compiler, HP DDE cannot display the class information for the classes defined in a shared library.
Problem Descriptions and Fixes Problems and Limitations NOTE An alternate way to display class information would be to link the module that has the definition of the class into the executable for debugging instead of putting the definition into the shared library. HP DDE and Compile-line -g option Limitations HP DDE encounters a limitation with source files that are compiled with the -g option.
Problem Descriptions and Fixes Problems and Limitations • In the wusr.conf file add or update as follows: AUTOMOUNT_PREFIXES=:/nfs. For example, to cause /nfs to be replaced by /net, add or update the AUTOMOUNT_PREFIXES definition to:AUTOMOUNT_PREFIXES=/net:/nfs HP DDE Behavior of the Step and Signal Handler If a signal is delivered to a target process when DDE attempts to singlestep or step-over the process, and if DDE does not intercept the signal, then DDE 4.
Problem Descriptions and Fixes Problems and Limitations For example: dde> s Step interrupted by signal delivered to target. Intercepted event type ’signal SIGCHLD’. Signal received by process 15619: (SIGCHLD).
Problem Descriptions and Fixes Problems and Limitations HP DDE Displays Warnings when Setting Breakpoints in HP aC++ Inline Functions HP DDE may generate warnings if you set breakpoints in an aC++ application’s inline functions. The following messages may result: (Warning) Location "\\on_off_switch::turn_on" is inline; no address information available. (Warning) Location "\\on_off_switch::turn_off" is inline; no address information available.
Problem Descriptions and Fixes Problems and Limitations HP DDE Limitation Regarding Use of C++ typeid Operator The typeid operator will not work in HP DDE command expressions. For example: print typeid(*a).name() “type_info” not found in current environment. type_info class symbol information unavailable. typeid information unavailable for this type. As a workaround, you can use the describe command to get a verbose description of an expression's true dynamic type.
Problem Descriptions and Fixes Problems and Limitations HP DDE Register Windows Problem If you choose the menu items Show: Registers->General... or Show: Registers->Special..., the window displayed may be too wide to fit on the screen. Resizing the window does not fix the problem. The two alternatives to address this problem are: • Install the libXm runtime patch PHSS_14873 or any libXm patch that supersedes this patch. The patch is available from Hewlett-Packard’s IT Resource Center.
Problem Descriptions and Fixes Problems and Limitations HP DDE Problem With vfork() You cannot single-step over a vfork() call. If you try to single-step, the target program will fail. A workaround is to set a breakpoint after the vfork() call. Then issue a go command instead of single-stepping to get past the vfork() call. HP DDE Problem with Pascal Uplevel References HP DDE will always pick the most recent stack activation to display uplevel references when direct or indirect recursion is used.
Problem Descriptions and Fixes Problems and Limitations 1. Issue the dde command without a target program argument. $ dde 2. Turn on system-level debugging. pro sys -on NOTE Turning on system-level debugging in step 2 will prevent the debugger from setting the usual breakpoints at the entry and exit statements of the main program. To establish those breakpoints, use the following commands: bre main bre main\$ 3. Issue the debug command to debug your program.
Problem Descriptions and Fixes Problems and Limitations Break at: \\__map_dld # `va(00002254) del bre __map_dld go -return Stopped at: \\$START$ (000020BC) 7. Issue the property libraries command to load symbol information for a shared library with constructor functions. pro lib mylib.sl 8. Since you are now in system code, set property language to C++. pro lan c++ 9. Set a breakpoint on a constructor function.
Problem Descriptions and Fixes Problems and Limitations main.C #include void sub() { cout << ""C++: In sub()...""<
Problem Descriptions and Fixes Problems and Limitations HP DDE and HP PAK Limitation on Short File Name Systems HP DDE and HP PAK will not run from file system partitions configured for short file names. HP-UX file systems configured for short file names truncate file names to 14 characters. Some of the file names in the HP DDE and HP PAK products exceed 14 characters in length. Make sure that HP DDE and HP PAK are installed on file system partitions that support long file names. The default on HP-UX 10.
Problem Descriptions and Fixes Problems and Limitations HP PAK Puma Problem Attaching to Program’s First Child The Attach to program’s first child option on the Choose target program for data collection window currently does not work. A workaround is to use the ps command to learn the process id (pid) of the child program, and then use the Attach to running program choice to attach to this pid.
Problem Descriptions and Fixes Problems and Limitations HP PAK Puma Limitations Regarding Next Run of a Program When using Puma to attach to the next run of a target program, be aware of the following limitations: • If you specify a relative path for your target program's name in the Choose Target Program window, Puma assumes that path is relative to the directory from which you invoked Puma.
Problem Descriptions and Fixes Problems and Limitations HP PAK Puma Problem with Selecting Thread Type Selecting a thread type of Single-Threaded or User-Threaded if the target program has multiple kernel threads will cause Puma to hang.
Problem Descriptions and Fixes Problems and Limitations 36 Chapter 4