» Sign in
  
Jump to HP Home Jump to Product & Services Jump to Support & Drivers Jump to Solutions Jump to How to buy
» Contact HP
 » Advanced Search
Jump to HP Home

HP WDB 6.0 Release Notes

Developer & Solution Partner Program (DSPP)


A site for HP Partners

 »  DSPP home

Benefits & Services
 »  Marketing & Sales
 »  Technical
 »  Collaboration

Resources & Downloads
 »  Technologies & Tools
 »  HP Products
 »  HP Solutions
 »  Software downloads

 »  Specialized programs

 »  Events
 »  Newsletters

Partner information
 »  Find a partner
 »  Find a partner solution

Shortcuts for
 »  Independent software vendors
 »  Integrators & Consultants

About DSPP
 »  Why join?
 »  Membership benefits

 »  Latest updates

 »  Contact us

 »  Site map

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 subsidiaries in the United States and other countries.

April 2009



HP WDB 6.0 Release Notes

1  Announcement

HP Wildebeest Debugger (WDB) 6.0 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.0.

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 Support for Core File Debugging of MITR Applications

With HP WDB 6.0, corefile debugging support for MIxed mode TRanslator (MITR) applications has been provided. MITR applications are Itanium applications that load and execute 32-bit HP PA-RISC libraries. The PA-RISC libraries are executed using an emulator library, /usr/lib/hpux32/libaries32.so, which is loaded by the dynamic loader when routines in the PA-RISC library are called.

A new command set debug-aries is introduced in HP WDB 6.0 to support core file debugging in mixed mode applications. The set debug-aries command is used to determine whether the frames of the emulator library (libaries32.so) or the emulated PA-RISC library must be displayed while executing stack-related commands, such as backtrace and frame.

Following is the syntax for the set debug-aries command:

set debug-aries [on|off]

If the setting is toggled between on and off, the corefile must be reloaded. The set debug-aries command is valid only for corefile debugging and setting this command to off is not supported for live debugging.

For more information on MITR, see the HP MITR webpage at:

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

2.2 New Command for Searching a Pattern in the Memory Address Space

HP WDB 6.0 provides the new find command to search for a pattern in the given memory address range. The find command searches for a pattern in the given address range for both live and corefile debugging.

Following is the syntax for the find command:

find [/size-char] [/max-count] start-address, end-address, expr1 [, expr2 ...]

find [/size-char] [/max-count] start-address, +length, expr1 [, expr2 ...]

2.3 New Command to Unwind Beyond 10000 Frames

Starting with HP WDB 6.0, the number of frames to be unwound by default is now set to 10000 so that WDB does not run out-of-memory.

To enable unwinding beyond 10000 frames, HP WDB 6.0 now supports a new option, set unwind-all-frames at the gdb prompt.

Following is the syntax for the unwind-all-frames command:

set unwind-all-frames [on|off]

where:

on

Enables WDB to unwind beyond 10000 frames.

off

Disables the limitation on the number of frames.

2.4 Updated Procedure to Process the Initialization File

During startup, WDB executes commands in the initialization (init) file. These files are called .gdbinit in UNIX. WDB follows a particular sequence in accessing the init file in different directories. Starting with HP WDB 6.0, after accessing the init file in the home directory and current working directory, HP WDB 6.0 accesses the init file in the /tmp directory if the GDB_PROCESS_TMP_GDBINIT environment variable is set.

Following is the updated procedure that HP WDB 6.0 follows to process the init files:

  1. Read the init file (if any) in the home directory.

  2. Process command-line options and operands.

  3. Read the init file (if any) in the current working directory,

  4. Read the init file (if any) in the /tmp directory if the GDB_PROCESS_TMP_GDBINIT environment variable is set.

  5. Read command files specified by the -x option.

2.5 Enhancement to the info shared Command

The info shared command is enhanced to display the global pointer (gp) values along with text start, text end, data start, and data end of the shared library.

2.6 Enhancement to the info target Command

The info target command is enhanced to display the memory segments for the corefile. The output also displays other details, such as system name, node name, operating system release name, license level, and machine model, for the core file. The enhancement is available for HP-UX 11i v2 and later versions of Itanium systems.

Note:

Limitations for the enhanced info target command on corefile are as follows:

  • The enhanced info target command is not supported when the expanded_node_host_names kernel parameter is set. It is supported only for the default utsname.

  • The heap segment listed in the memory segment does not contain mmapped memory for the given core file.

2.7 Support for Automatic Debugging of Shared Libraries

HP WDB 6.0 enables automatic debugging of shared libraries while attaching WDB to a running program on HP-UX 11i v3 Integrity systems. For enabling automatic debugging of shared libraries, the PHKL_38651 and PHKL_38778 kernel patches must be installed on the HP-UX 11i v3 Integrity systems.

To enable debugging of shared libraries on HP-UX 11i v2 Itanium and HP 9000 systems, use the following command:

chatr +dbg enable <executable_name>

2.8 Attaching a PA-RISC Debugger to a PA-RISC Process

HP WDB 6.0 can be attached to an already running HP 9000 application process on HP-UX 11i for HP Integrity servers to debug the application. After a successful attach, all the WDB commands work in exactly the same manner as they do on an HP 9000 HP-UX server. Starting with HP WDB 6.0, for attaching WDB to a PA-RISC process, WDB can be invoked through any attach mode supported by WDB using the -pid <pa_pid> option or by issuing the attach <pa_pid> command at the gdb prompt. <pa_pid> denotes the process ID of the PA-RISC application.

2.9 Improvement in Performance of Memory Debugging for the string option

HP WDB 6.0 improves performance of memory debugging when the string option is set in the set heap-check command for 32-bit applications on HP-UX 11i v2 and later on Itanium systems.

3 Patches and Defect Fixes in HP WDB 6.0

The following defects are fixed in HP WDB 6.0:

  • GDB shows ptype of the Fortran character-valued function as void.

  • WDB prints incorrect value while performing command-line calls through pointer or reference pointer of the member functions of the class.

  • The unpackcore command cannot handle the absolute path of the core file and fails with an error message that is not formatted properly.

  • GDB does not allow info leaks when another thread locks the mutex.

  • NaT bits are not displayed with info reg or $r15 from the signal frame in a core file.

  • GDB has issues while debugging MT applications linked with the liblwp library.

  • WDB misuses the DW_CHILDREN field of a DIE with type DW_TAG_structure_type.

  • The ptype -v command produces length of 0 or negative value.

  • In batch mode thread checking, the output directory cannot be specified in the rtcconfig file.

  • Certain command-line call issues exist for explicitly instantiated methods of template classes.

  • A mismatch occurs between the line number displayed for the breakpoint confirmation and the breakpoint arrival. This problem occurs only in case of FORTRAN programs, when the breakpoint is set on an internal procedure. For example, break internal_procedure. This problem is specific to Integrity systems.

  • A bad demangling in the stack trace occurs if the template is of type cast().

  • Heap profile lists biggest allocation last.

  • IA-64 debugger does not indicate dld.so mismatches between the core file and the system.

  • Issue with printing constant arrays during core file debugging.

  • GDB crashes while printing a C++ expression.

  • Problems in setting hardware watchpoints on local variables.

4 Notes, Cautions, and Warnings

Following are some notes, cautions, and warnings related to HP WDB 6.0:

  • If the hardware watchpoint is used on an address of a local variable, the hardware watchpoint may trigger even if the variable goes out of scope due to the same memory location being reused by other stack frames. Similarly, a hardware watchpoint on a heap location may also trigger with other variables if the memory location gets deallocated and reallocated to other variables.

  • The Run Time Checking feature (Interactive and Batch Mode) of WDB cannot be used with applications that redefine or override the default system-supplied versions of the standard library routines (under libc.[sl|so] and libdld.[sl|so]).

    Table 1 lists the dependent library routines for Run Time Checking using HP WDB.

    Table 1 Dependent Library Routines for Run Time Checking using WDB

    abort

    atoi

    chdir

    clock_gettime

    creat

    ctime

    uwx_register_callbacks

    strstr

    dlhook

    U_STACK_TRACE

    uwx_get_reg

    write

    execl

    exit

    fclose

    fopen

    fprintf

    fscanf

    getcwd

    getenv

    getpid

    lseek

    memchr

    open

    printf

    rand

    pthread_self

    putenv

    shl_findsym

    shl_get_r

    shl_load

    shl_unload

    sprintf

    srand

    sscanf

    strcasecmp

    strdup

    strlen

    strchr

    strtok_r

    time

    unlink

    uwx_self_copyin

    strchr

    uwx_step

    uwx_init

    perror

    shmctl

    write

    strcmp

    shl_get

    close

    dlgetname

    environ

    fork

    getpagesize

    uwx_self_init_context

    pthread_getschedparam

    uwx_self_init_info

    uwx_register_alloc_cb

    strstr

    uwx_register_callbacks

    uwx_self_lookupip

     

    The Run Time Checking (dynamic memory, libraries, and pthreads checking) in WDB is dependent on the semantics and the standard behavior of these library routines. Run Time Checking in WDB results in unexpected and unpredictable behavior when used with applications that substitute or redefine these library routines.

    Before enabling the Run Time Checking feature in WDB, use the nm command to determine if your application or the dependent libraries in your application redefine or substitute these library routines.

  • Batch Mode RTC displays one of the following errors and causes the program to temporarily hang if the version of WDB and librtc.[sl|so] do not match, or if WDB is not available on the system:

    /opt/langtools/bin/gdb: unrecognized option `-brtc'
    Use `/opt/langtools/bin/gdb --help' for a complete list of options.

    Or

    execl failed. Cannot print RTC info: No such file or directory

    This error does not occur under normal usage where WDB or librtc.[sl|so] is used from the default location at /opt/langtools/...

    However, this error occurs if GDB_SERVER and/or LIBRTC_SERVER are set to a mismatched version of WDB or librtc.[sl|so] respectively.

  • If the application does not link in the libpthread library (lipbpthread.so|libpthread.s1) or the libpthread tracer library (libpthread_tr_so.l|libpthread_tr.l ), the following error message appears:

    Tracing version of libpthread is not loaded: set thread_check before starting the program, link your program with libpthread_tr or set LD_LIBRARY_PATH to contain /opt/langtools/wdb/lib/hpux32

    HP-WDB Debugger does not display backtrace under Backtrace at the point of event occurrence for thread conditions detected at thread-exit, if there is an implicit call to pthread_exit().

5 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 6.0 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 Itanium 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.

  • WDB does not print downcast classes

    WDB does not correctly print the downcast classes, when the set print object command is set.

  • 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.

6 Known Issues

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

6.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.

7 Known Limitations

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

7.1 Limitations for C++

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

  • WDB has issues in printing class member functions.

  • WDB is unable to print the values of data members from within a class.

  • WDB is unable to print the entire derived class when it is accessed through an object of the base class cast to the derived class.

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

7.2 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.

7.3 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.0 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.

8 Installation Requirements and Compatibility Information

This section discusses the installation information for HP WDB.

Table 2 lists the swinstall products for HP WDB.

Table 2 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.

8.1 Compatibility

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

8.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.

8.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.

8.4 Disk Space Requirements

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

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

8.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.

9  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

10 Related Documentation

HP WDB documentation is available at the following location:

/opt/langtools/wdb/doc

Table 3 lists the documents available for HP WDB.

Table 3 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)  

11 Software Availability in Native Languages

HP WDB 6.0 is available in the English language only.

12  WDB Mailing Lists

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

  • For discussion/questions:

    hpux-development-public@lists.hp.com

    To subscribe, send “sub hpux-development-public” as the subject line to sympa@lists.hp.com

  • For announcements:

    hpux-development-public-announce@lists.hp.com

    To subscribe, send “sub hpux-development-public-announce” as the subject line to sympa@lists.hp.com








Printable version

Privacy statement Using this site means you accept its terms Trademark acknowledgment Contact us
HP Confidential © 2009 Hewlett-Packard Development Company, L.P.