HP WDB 6.2 Release Notes

HP-UX 11i v1, HP-UX 11i v2, HP-UX 11i v3

Legal Notices

Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license.

The information contained in this document is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

UNIX is a registered trademark of The Open Group.

Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidaries in the United States and other countries.

January 2011


Table of Contents

HP WDB 6.2 Release Notes
1  Announcement
2 What Is New in This Version
2.1 Reporting Files Open by an Application
2.2 Improved Understanding of Scope Resolution Operator in gdb Expressions
2.3 Smarter Printing of Function Pointers
2.4 More Intuitive Leak Reports
2.5 Debugging with Debug Information Available In the Side Debug File
2.6 Support for mmapfile Command
3 Patches and Defect Fixes in HP WDB 6.2
4 Known Problems and Workarounds
5 Known Issues
5.1 Batch Mode Thread Debugging
5.2 Mixed Mode Debugging
6 Known Limitations
6.1 Limitations for C++
6.2 Limitations for Batch Mode Heap Debugging
6.3 Batch Mode Thread Debugging
6.4 Mixed Mode Debugging
6.5 Debugger Support for Optimized Code
7 Installation Requirements and Compatibility Information
7.1 Compatibility
7.2 Supported Configurations
7.3  Filesets
7.4 Disk Space Requirements
7.5 Installation Instructions
8  Features Supported in Previous Versions of HP WDB
9 Related Documentation
10 Software Availability in Native Languages
11  WDB Mailing Lists

List of Tables

HP WDB Installation
HP WDB Documentation

HP WDB 6.2 Release Notes


1  Announcement

HP Wildebeest Debugger (WDB) 6.2 is an HP-supported implementation of the open source debugger GDB. It supports source-level debugging of programs written in HP C, HP aC++, and Fortran 90 on Itanium®-based systems running HP-UX 11i v2 or HP-UX 11i v3, and HP 9000 systems running HP-UX 11i v1, HP-UX 11i v2, or HP-UX 11i v3.

This document discusses the most recent product information for HP WDB 6.2.

For the latest version of HP WDB, see the HP WDB Technical Resources website at:

http://www.hp.com/go/wdb

2 What Is New in This Version

This section describes the following new features in this version of HP WDB:

2.1 Reporting Files Open by an Application

With this feature, you can obtain a report containing the list of file descriptors corresponding to files open by an application at the point of its exit. The report not only provides you the name and type of those files, but also details like backtrace and function names at the point of the files being opened. This enables you to identify potential file descriptor leaks in the application.

Note:

This feature is currently supported only on HP Integrity systems.

2.2 Improved Understanding of Scope Resolution Operator in gdb Expressions

When you debug Fortran applications the following syntax is supported while printing variables in gdb expressions:

<procedure>::<variable>

<procedure>::<internal_procedure>::<variable>

where 'procedure' may be a function or a subroutine.

2.3 Smarter Printing of Function Pointers

WDB is made smarter now in printing the function pointers. It now decodes extra level of indirection for the programmer’s convenience.

2.4 More Intuitive Leak Reports

A note will be appended to every memory debugging report providing more details for function names displayed as ???.

2.5 Debugging with Debug Information Available In the Side Debug File

From version B.12.56, the HP-UX/Integrity linker has added an option +dbgfile <path>. This option enables you to emit debug information separately to the file specified by 'path', instead of the target executable/library. Gdb supports debugging from the side debug file, produced with the +dbgfile linker option.

Note:

This feature is currently supported only on HP Integrity systems.

2.6 Support for mmapfile Command

HP-UX does not include mmap-ed regions with MAP_SHARED mappings or MAP_PRIVATE with Read-Only permission in core. With the mmapfile command of gdb, you can add mmap-ed sections while debugging core files. This can be done during the debug session of the core file, helping you to debug using the memory contents from the missing mmap-ed regions in core file.

Note:

This feature is currently supported only on HP Integrity systems.

3 Patches and Defect Fixes in HP WDB 6.2

The following defects are fixed in HP WDB 6.2:

  • Gdb shows extra signal 0 on interruption, when attached to a process from another shell.

  • Gdb cannot print <file_name>::<variable> correctly for both global and static variables under certain conditions.

  • Gdb cannot resolve symbol names and backtraces for ILP32 binaries with text segment size > 1 GB.

  • Gdb shows wrong line numbers for some functions for ILP32 binaries with text segment size > 1 GB.

  • Gdb sometimes does not execute step/next commands properly for ILP32 binaries with text segment size > 1 GB.

  • Gdb shows bad argument values for some functions for ILP32 binaries with text segment size > 1 GB.

  • Gdb does not detect core file and executable mismatch and sometimes crashes in dld.

  • User disabled watchpoint gets wrongly re-enabled automatically.

  • Gdb sometimes wrongly gives out a message that the target program received SIGSEGV, when a misaligned load is retired and a wacthpoint is set.

  • Gdb sometimes crashes after watchpoint is set on local variable.

  • Gdb crashes if the application has mangled names with anonymous namespace <unnamed namespace>, not followed by the scope resolution operator ::

  • $ gdb -e <program name> cannot load symbols and allow the process to run.

  • Wdb runs out of memory on HP 9000 servers and crashes on Integrity servers for Fortran programs during the application run, when the debug information for function parameters contains incorrect memory addresses.

  • Wdb dumps core when debugging a C++ program on HP-UX 11.23 Integrity systems, when a typeinfo mangled name does not contain a variable name.

4 Known Problems and Workarounds

This section describes known problems and the suggested workarounds in this release of HP WDB.

  • The find command does not search the entire memory.

    The HP WDB find command does not search the pattern in the entire memory address range starting from 0x0 to 0xff..ff. It displays the following warning message:

    (gdb) find 010,0xffffffffffffff,"hello"
    warning: Unable to access target memory at 0x8, halting search.
    Pattern not found.
  • Performance Degradation in Memory Debugging

    For 64-bit applications on HP-UX 11i v2 and later on Integrity systems, heap check performance degrades when the string option is set in the set heap-check command:

    set heap-check string on

  • Incorrect usage of . and -> while printing the values for C++ applications

    WDB allows users to interchangeably use "." and "->" while printing values for C++ applications. WDB incorrectly allows users to use "." with a pointer variable and "->" with a reference variable while printing the value for C++ applications.

  • Mismatch Between dld.so Libraries Causes Issues

    A mismatch in the dld.so libraries available in the core file and in the system might cause issues in unwinding beyond some frames within the libc.so library. The workaround is to use the packcore command to obtain the core file and the involved load modules into the system on which the debugging occurs.

  • Debugging an attached process that is not compiled for debugging may generate warnings

    On attaching the debugger to a program that is not compiled for debugging, the process may stop in a system call and the following warning message about the various registers is displayed:

    No data warning: reading 'r3' register: No data warning: reading 'r4' register: No data
    warning: reading 'r5' register: No data warning: reading 'r6' register: No data warning
    

    This warning occurs when executing the step command, the backtrace command, or when attempting to view the register information. To avoid this warning message, use the finish command to execute the process until the system call returns. This warning message is generated when the process stops at a system call, and the registers cannot be read by the debugger. When the debugger calls the routine ttrace, it returns this warning.

  • Error attaching WDB to a process that is traced by tools using ttrace

    HP WDB cannot attach to a process that is traced by tools that use ttrace, such as Caliper, adb, and tusc.

    The debugger displays the following error message while attempting to attach to such a process:

    Attaching to process <pid> failed.
    Hint: Check if this process is already being traced by another gdb or other ttrace tools like caliper and tusc.
    Hint: Check whether program is on an NFS-mounted file-system. If so,you will need to mount the file system with the "nointr" option with mount(1) or make a local copy of the program to resolve this problem.

5 Known Issues

This section describes known issues in this release of HP WDB.

5.1 Batch Mode Thread Debugging

  • During the execution of advanced thread checking for applications that fork, in the interactive mode, the following message appears if the GDB follows the child:

    Pthread analysis file missing!

    This error message appears because the thread-error information for the forked process is not available. However, if the forked process exec() s another binary, the thread-error information is available for the exec-ed binary.

  • In both interactive and batch modes, if the applications exceed their thread stack utilization, the following error message appears:

    Error accessing memory address!

    This occurs when GDB attempts a command line call on an already overflowing thread stack.

5.2 Mixed Mode Debugging

Following are known issues in mixed mode debugging:

  • Listing of registers currently in use for PA-RISC 32-bit shared library frames causes the unswizzled 32-bit values to be displayed.

  • Clicking on the registers tab for a PA-RISC frame in the WDB-GUI results in incorrect register information being displayed. Alternatively, execute the info reg command at the gdb prompt in the Commands tab.

  • For a signal handler invoked while executing in a PA-RISC routine, when the info frame command is run on the signal handler called frame, the saved libaries32.so IP address is displayed, rather than the PCOQH value of the PA-RISC routine.

  • Printing the value of a floating point register using the print command does not work. The info reg command must be used.

Note:

If an application crashes in the aries signal handler, the debug-aries option is turned on by default and only the libaries frames are displayed.

6 Known Limitations

This section describes known limitations in this release of HP WDB.

6.1 Limitations for C++

  • WDB is unable to hit breakpoints placed on constructors in case of multiple inheritance.

  • WDB is unable to make command-line calls to string methods when there are no calls to these methods from the application.

  • In Fortran programs containing nested procedures, WDB may not print values of local variables for outer or parent procedure inside its internal subroutine.

6.2 Limitations for Batch Mode Heap Debugging

On PA-RISC systems, the batch mode memory debugging might fail if the application uses atfork handlers. This issue is resolved in HP WDB 6.1 onwards on Itanium systems.

6.3 Batch Mode Thread Debugging

  • The feature does not obtain the thread-error information in batch mode for forked process in a multiprocessing application. However, if the librtc.sl library is pre-loaded, the debugger obtains the thread-error information in the batch mode for exec-ed application.

  • HP WDB cannot execute both batch mode thread check and batch mode heap check together. If the rtcconfig file has both entries, then batch heap check overrides the batch thread check.

6.4 Mixed Mode Debugging

The following are not supported for mixed mode debugging:

  • Placing a breakpoint on a PA-RISC library.

  • Listing the arguments (using the info args command) for a selected PA-RISC frame during corefile debugging. Alternatively, the disassembly instructions or runtime conventions can be examined to identify the locations of the arguments and the values at these locations can be displayed using the print or x command.

  • Printing the local variables of the selected frame (using the info locals command) for a selected PA-RISC frame during corefile debugging. Alternatively, the disassembly instructions can be examined to identify the locations of the arguments and the values at these locations of the local variables can be displayed using the print or x command.

  • Executing the backtrace_other_thread command for a frame belonging to a PA-RISC library.

  • Executing the maint info unwind command for PA addresses.

  • Printing the description of the type of expression or data type (using the ptype command) on a PA-RISC symbol.

6.5 Debugger Support for Optimized Code

On HP 9000 systems for 32-bit and 64-bit applications, printing of local variable values may be inaccurate for +O1 and higher optimizations.

Note:

HP WDB 6.1 and later versions contains limited debugging support for optimized code of 32-bit applications on HP 9000 and even more limited support for debugging optimized code (DOC) for 64-bit applications on HP 9000 systems. Additionally, the debugging support becomes limited as higher levels of compiler optimization are used.

7 Installation Requirements and Compatibility Information

This section discusses the installation information for HP WDB.

Table 1 lists the swinstall products for HP WDB.

Table 1 HP WDB Installation

Product Name Description
HP WDB HP WDB -The HP implementation of the open source debugger GDB
HP WDB GUI Optional graphical user interface component for HP WDB

If you install HP WDB GUI on a system where HP WDB has not yet been installed, HP WDB is installed automatically.

7.1 Compatibility

HP WDB is not supported on releases of the HP-UX operating system prior to 11i v1.

7.2 Supported Configurations

The following configurations are supported by HP WDB:

  • Installing and running locally on an HP-UX 11i v1, HP-UX 11i v2, or HP-UX 11i v3 operating system.

  • Installing on an HP-UX 11i v1, HP-UX 11i v2, or HP-UX 11i v3 system, with the display redirected to a remote HP-UX 11.x node.

7.3  Filesets

The HP WDB product contains the following components:

  • WDB: Runtime contains one fileset

  • WDB-DOC: Documentation contains one fileset

  • WDB-MAN: Manuals contains one fileset

    Note:

    DEBUG-PRG and SENTINEL are co-requisite filesets for HP WDB and are automatically selected during installation.

The WDB GUI product contains the following sub-products:

  • WDB-GUI-RUN: Runtime contains one fileset

  • WDB-GUI-HELP: Help contains one fileset

  • WDB-GUI-MAN: Manuals contain one fileset

HP WDB GUI requires the HP WDB product. If HP WDB is not already installed, it is automatically selected during installation.

7.4 Disk Space Requirements

For information on the disk space requirements to install HP WDB 6.2, see the Downloads website at:

http://www.hp.com/go/wdb/

7.5 Installation Instructions

To install HP WDB, run the SD-UX swinstall command. It invokes a user interface that leads you through the installation. It also gives you information about disk space requirements, version numbers, product descriptions, and dependencies.

For specific installation instructions, see the HP WDB Technical Resources website at:

http://www.hp.com/go/wdb/

For more information on installation procedures and related issues, see the Managing HP-UX Software with SD-UX and other README, installation, and upgrade documentation provided with the HP-UX 11.x operating system package.

Note:

If you install a compiler product that includes a version of HP WDB earlier than this version, swinstall generates the following message:

ERROR: A later revision (one with a higher revision number) of fileset
"WDB-GUI.WDB-GUI-HELP,r=B.11.31" has already been installed. Either 
remove this fileset or change the "allow_downdate”

To retain the later version of HP WDB, ignore this message. The new products are installed, and the latest version of HP WDB continues to be available.

8  Features Supported in Previous Versions of HP WDB

For information on previous HP WDB releases, see the HP WDB Technical Resources website at:

http://www.hp.com/go/wdb

9 Related Documentation

HP WDB documentation is available at the following location:

/opt/langtools/wdb/doc

Table 2 lists the documents available for HP WDB.

Table 2 HP WDB Documentation

Document Format Location

Debugging with GDB

PDF

/opt/langtools/wdb/doc/gdb.pdf

Emacs:

/opt/langtools/wdb/doc/gdb.info

(Copy the files to your info directory first.)

GDB Quick Reference Card

PDF

/opt/langtools/wdb/doc

Getting Started with HP WDB

HTML

/opt/langtools/wdb/doc/html/wdb/C/GDBtutorial.html

XDB to WDB Transition Guide

HTML

/opt/langtools/wdb/doc/index.html

Using the HP WDB Terminal User Interface

HTML

/opt/langtools/wdb/doc/index.html

GDB manpage gdb(1)  

10 Software Availability in Native Languages

HP WDB 6.2 is available in the English language only.

11  WDB Mailing Lists

The following mailing lists are available for announcements and discussions on WDB: