Updated 2008/05/09

Sun[tm] Studio 12: 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 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 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 release of dbx.

No new information is available at this time.

 


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 cannot debug 32-bit multithreaded applications on Linux platforms
  5. dbx throws an exception when debugging application on different J2SE than it was built on
  6. False RUA error reported due to pre-RTC monitoring allocations

  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 cannot debug 32-bit multithreaded applications on Linux platforms
  7. dbx cannot debug 32-bit multithreaded applications on SuSE Linux Enterprise Server 9.

  8. dbx throws an exception when debugging application on different J2SE than it was built on
  9. 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.

  10. False RUA error reported due to pre-RTC monitoring allocations
  11. 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 bu using the dxb supress command.

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://developers.sun.com/sunstudio/documentation/ss12/release_notes.html

Sun Studio 12 dbx 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 © 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.