Updated 2009/06/09

Sun[tm] Studio 12 Update 1: dbx Readme


Contents

  1. Introduction
  2. About Sun Studio 12 dbx
  3. New and Changed Features
  4. Software Corrections
  5. Problems and Workarounds
  6. Limitations and Incompatibilities
  7. Documentation Errata

 


A. Introduction

This document describes the software corrections, known problems, limitations, and incompatibilities of this release.

Product Documentation

 


B. About Sun Studio 12 Update 1 dbx

dbx is an interactive, source-level, command-line debugging tool. You can use it to run a program in a controlled manner and to inspect the state of a stopped program. dbx gives you complete control of the dynamic execution of a program, including the collection of performance data.

 


C. New and Changed Features

This section describes the new and changed features for dbx.

The following features were added or changed in Sun Studio 12 Update 1 dbx.

A few features of dbx are not available for programs compiled with the gcc or g++ compilers, or for programs running on Linux platforms. For more information, see Limitations and Incompatibilities.

 


D. Software Corrections

This section describes problems that were fixed in the Sun Studio 12 Update 1 release of dbx.

  1. dbx loads object and mmaps it repeatedly
  2. Sun Studio 12 dbx is unusable with debug objects in DWARF format
  3. tdemo memorychecks needs to be brought into conformance
  4. In Sun Studio 12 dbx stop throw command does not stop execution
  5. dbx crashes when print is called with an invalid variable
  6. dbx shows incorrect function parameters when test is compiled with -m64
  7. Funs and Symbols not eliminated by COMDAT process
  8. Wrong header file listed when stepping into inline method
  9. Sun Studio 12 dbx got internal error when debugging a Fortran 90 program
  10. Sun Studio 12 dbx crashes on startup loading large core file
  11. dbx takes a long time to load with a huge application
  12. dbx cannot demangle symbol names produced by Sun Studio 8 compiler
  13. dbx crashes on startup
  14. Debugging application causes dbx to crash with segmentation fault on i386 hardware running Solaris 10 OS
  15. dbx print does not handle calls to constructors
  16. Sun Studio 12 dbx can't step in a C++ Program compiled with g++ in 64-bit mode
  1. dbx loads object and mmap()s it over and over

    dbx tried to open an application and its core file, and did an open()/mmap() operation on the program over and over again. This issue has been fixed. (6726139)

  2. Sun Studio dbx is unusable with debug objects in DWARF format

    Sun Studio 12 dbx had a performance issue when debugging a program with a large number of DWARF debug objects. This issue has been fixed. (6667276)

  3. tdemo memorychecks needs to be brought into conformance

    The tdemo program memorychecks was designed for use with the Sun Studio 11 IDE. It has been updated to work with Sun Studio 12 Update 1 dmake and dbxtool. (6829561)

  4. In Sun Studio 12 dbx stop throw command does not stop execution

    In Sun Studio 12 dbx, the stop throw command did not stop execution of the application being debugged. This issue has been fixed. (6807810)

  5. dbx crashes when print is called with an invalid variable

    dbx crashed when the print command was issued with an invalid variable. This issue has been fixed. (6787648)

  6. dbx shows incorrect function parameters when test is compiled with -m64

    dbx showed incorrect function parameters when an application was compiled with the -m64 option. This issue has been fixed. (6774789)

  7. Funs and Symbols not eliminated by COMDAT process

    Funs and Symbols that should not have appeared in .o files appeared. This issue has been fixed. (6611331)

  8. Wrong header file used when stepping into inline method

    dbx listed the wrong header file when stepping into an inline method. This issue has been fixed. (6611330)

  9. Sun Studio 12 dbx got internal error when debugging a Fortran 90 program

    Sun Studio 12 dbx got an internal error when debugging a Fortran 90 program containing a symbol with the POINTER attribute. This issue has been fixed. (6590699)

  10. Sun Studio 12 dbx crashes on startup loading large core file

    Sun Studio 12 dbx crashed when loading a large core file containing stabs for COMDAT functions. This issue has been fixed. (6694213)

  11. dbx takes a long time to load with a huge application

    dbx took a long time to load with a huge application (2 GBytes). The bottleneck was identified and the issue has been fixed. (6627573)

  12. dbx cannot demangle symbol names produced by a Sun Studio 8 compiler

    dbx could not demangle symbol names produced by the Sun Studio 8 C++ compiler. This issue has been fixed. (6632263)

  13. dbx crashes on startup

    dbx crashed on startup. The fix for issue 6726139 also fixed this issue. (6717882)

  14. Debugging application causes dbx to crash with segmentation fault on i386 hardware running Solaris 10 OS

    dbx crashed with a segmentation fault on i386 hardware running the Solaris 10 OS. This issue has been fixed. (6715539)

  15. dbx print does not handle calls to constructors

    The dbx print command could not handle calls to constructors. This issue has been fixed. (6750215)

  16. Sun Studio 12 dbx can't step in a C++ program compiled with g++ in 64-bit mode

    dbx could not step in a C++ program compiled with g++ in 64-bit mode due to stack unwinding problems. This issue has been fixed. (6599761)

 


E. Problems and Workarounds

This section discusses known software problems and possible workarounds for those problems.

  1. Data Collection Problems When dbx is Attached to a Process
  2. dbx might crash while debugging Java code
  3. dbx crashes on re-debugging of Java code
  4. dbx throws an exception when debugging application on different J2SE than it was built on
  5. False RUA error reported due to pre-RTC monitoring allocations
  6. Memory and Disassembler windows can cause dbx to crash when running in the IDE

  1. Data Collection Problems When dbx is Attached to a Process

    If you attach dbx to a running process without preloading the collector library, libcollector.so, a number of errors can occur.

    • You cannot collect any tracing data: synchronization wait tracing, heap tracing, or MPI tracing. Tracing data is collected by interposing on various libraries, and if libcollector.so is not preloaded, the interposition cannot be done.
    • If the program installs a signal handler after dbx is attached to the process, and the signal handler does not pass on the SIGPROF and SIGEMT signals, profiling data and sampling data is lost.
    • If the program uses the asynchronous I/O library, libaio.so, clock-based profiling data and sampling data is lost, because libaio.so uses SIGPROF for asynchronous cancel operations. (4397578)
    • If the program uses the hardware counter library, libcpc.so, hardware-counter overflow profiling experiments are corrupted because both the collector and the program are using the library. If the hardware counter library is loaded after dbx is attached to the process, the hardware-counter experiment can succeed provided references to the libcpclibrary functions are resolved by a general search rather than a search in libcpc.so.
    • If the program calls setitimer(2), clock-based profiling experiments can be corrupted because both the collector and the program are using the timer.

  2. dbx might crash while debugging Java code (4893079)
  3. If you issue a cd command from within the dbx shell, or set the CLASSPATH environment variable or the CLASSPATHX environment variable, dbx might subsequently crash with a segmentation fault.

    Workarounds:

  4. dbx crashes on re-debugging of Java code (4801883)
  5. Issuing two debug commands in a row on Java code might cause dbx to crash.

  6. dbx throws an exception when debugging application on different J2SE than it was built on
  7. dbx throws an exception when you debug an application under a different release of the J2SE technology than the version of the J2SE technology under which you built the application.

  8. False RUA error reported due to pre-RTC monitoring allocations
  9. Under unusual circumstances with multithreaded programs, runtime checking (RTC) reports a false RUA error when it detects access to internal thread-related data that were allocated before RTC began monitoring memory allocations. As these circumstances are part of normal thread switching behavior, these false RUA reports can safely be ignored by using the dbx suppress command.

  10. Memory and Disassembler windows can cause dbx to crash when running in the IDE

    When debugging a program with dbx in the Sun Studio IDE, using the Memory and Disassembler windows might cause dbx to crash.

Check the support page on the SDN Sun Studio portal, http://developers.sun.com/sunstudio/support/ for the latest information.

 


F. Limitations and Incompatibilities

This section discusses limitations and incompatibilities with systems or other software. For last-minute information, see the Release Notes at http://docs.sun.com/app/docs/doc/821-0080

Sun Studio 12 Update 1dbx has the following limitations:


G. Documentation Errata

There is no new information at this time. Additional information might be made available at http://developers.sun.com/sunstudio/

 


Copyright © 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.