Debugging a Program With dbx HomeContentsPreviousNextIndex


Preface

dbx is an interactive, source-level, command-line debugging tool. Debugging a Program With dbx is intended for programmers with a working knowledge of Fortran, C, or C++, and some understanding of the SolarisTM operating environment and UNIX® commands, who want to debug an application using dbx commands. It includes references to how the same debugging operations can be performed using the Sun WorkShop Debugging window.

Multiplatform Release

This Sun WorkShop release supports versions 2.6, 7, and 8 of the SolarisTM SPARCTM Platform Edition and Solaris Intel Platform Edition Operating Environments.


Note – The term "x86" refers to the Intel 8086 family of microprocessor chips, including the Pentium, Pentium Pro, and Pentium II processors and compatible microprocessor chips made by AMD and Cyrix. In this document, the term "x86" refers to the overall platform architecture, whereas "Intel Platform Edition" appears in the product name.

Access to Sun WorkShop Development Tools

Because Sun WorkShop product components and man pages do not install into the standard /usr/bin/ and /usr/share/man directories, you must change your PATH and MANPATH environment variables to enable access to Sun WorkShop compilers and tools.

To determine if you need to set your PATH environment variable:

1. Display the current value of the PATH variable by typing:

% echo $PATH

2. Review the output for a string of paths containing /opt/SUNWspro/bin/.

If you find the paths, your PATH variable is already set to access Sun WorkShop development tools. If you do not find the paths, set your PATH environment variable by following the instructions in this section.

To determine if you need to set your MANPATH environment variable:

1. Request the workshop man page by typing:

% man workshop

2. Review the output, if any.

If the workshop(1) man page cannot be found or if the man page displayed is not for the current version of the software installed, follow the instructions in this section for setting your MANPATH environment variable.


Note – The information in this section assumes that your Sun WorkShop 6 products were installed in the /opt directory. Contact your system administrator if your Sun WorkShop software is not installed in /opt.

The PATH and MANPATH variables should be set in your home .cshrc file if you are using the C shell or in your home .profile file if you are using the Bourne or Korn shells:

For more information about the PATH variable, see the csh(1), sh(1), and ksh(1) man pages. For more information about the MANPATH variable, see the man(1) man page. For more information about setting your PATH and MANPATH variables to access this release, see the Sun WorkShop 6 Installation Guide or your system administrator.

How This Book Is Organized

Debugging a Program With dbx contains the following chapters and appendixes:

Chapter 1, "Starting dbx," describes how to start a debugging session, discusses compilation options, and tells you how to save all or part of session and replay it later.

Chapter 2, "Customizing dbx," describes how to set dbx environment variables to customize your debugging environment and how to use the initialization file, .dbxrc, to preserve changes and adjustments from session to session.

Chapter 3, "Viewing and Visiting Code," tells you about visiting source files and functions; locating symbols; and looking up variables, members, types, and classes.

Chapter 4, "Controlling Program Execution," describes how to run, attach to, detach from, continue execution of, stop, and rerun a program under dbx. It also tells you how to single-step through program code.

Chapter 5, "Setting Breakpoints and Traces," describes how to set, clear, and list breakpoints and traces, and how to use watchpoints.

Chapter 6, "Event Management," tells you how to manage events, and describes how dbx can perform specific actions when specific events occur in the program you are debugging.

Chapter 7, "Using the Call Stack," tells you how to examine the call stack and how to debug a core file.

Chapter 8, "Evaluating and Displaying Data," shows you how to evaluate data; display the values of expressions, variables, and other data structures; and assign values to variables.

Chapter 9, "Using Runtime Checking," describes how to use runtime checking to detect memory leak and memory access errors in your program automatically.

Chapter 10, "Data Visualization," tells you how to display your data graphically as you debug your program.

Chapter 11, "Fixing and Continuing," describes the fix and continue feature of dbx that allows you to modify and recompile a source file and continue executing without rebuilding your entire program.

Chapter 12, "Debugging Multithreaded Applications," tells you how to find information about threads.

Chapter 13, "Debugging Child Processes," describes several dbx facilities that help you debug child processes.

Chapter 14, "Working With Signals," tells you how to use dbx to work with signals.

Chapter 15, "Debugging C++," describes dbx support of C++ templates, and the commands available for handling C++ exceptions and how dbx handles these exceptions.

Chapter 16, "Debugging Fortran Using dbx,"introduces some of the dbx facilities you can use to debug a Fortran program.

Chapter 17, "Debugging at the Machine-Instruction Level," tells you how to use event management and execution control command at the machine-instruction level, how to display the contents of memory at specific addresses, and how to display source code lines along with their corresponding machine instructions.

Chapter 18, "Using dbx With the Korn Shell," explains the differences between ksh-88 and dbx commands.

Chapter 19, "Debugging Shared Libraries," describes dbx support for program that use dynamically linked, shared libraries.

Appendix A, "Modifying a Program State," focuses on dbx commands that change your program or its behavior when you run it under dbx.

Typographic Conventions

TABLE P-1 shows the typographic conventions that are used in Sun WorkShop documentation.

TABLE P-1   Typographic Conventions
Typeface Meaning Examples
AaBbCc123 The names of commands, files, and directories; on-screen computer output Edit your .login file. Use ls -a to list all files. % You have mail.
AaBbCc123 What you type, when contrasted with on-screen computer output % su Password:
AaBbCc123 Book titles, new words or terms, words to be emphasized Read Chapter 6 in the User's Guide. These are called class options. You must be superuser to do this.
AaBbCc123 Command-line placeholder text; replace with a real name or value To delete a file, type rm filename.


Shell Prompts

TABLE P-2 shows the default system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.

TABLE P-2   Shell Prompts
Shell Prompt
C shell %
Bourne shell and Korn shell $
C shell, Bourne shell, and Korn shell superuser #


Related Documentation

You can access documentation related to the subject matter of this book in the following ways:

TABLE P-3 lists related Sun WorkShop 6 manuals by document collection.

TABLE P-3   Related Sun WorkShop 6 Documentation by Document Collection 
Document Collection Document Title Description
ForteTM Developer 6 / Sun WorkShop 6 Release Documents About Sun WorkShop 6 Documentation Describes the documentation available with this Sun WorkShop release and how to access it.

What's New in Sun WorkShop 6 Provides information about the new features in the current and previous release of Sun WorkShop.

Sun WorkShop 6 Release Notes Contains installation details and other information that was not available until immediately before the final release of Sun WorkShop 6. This document complements the information that is available in the component readme files.
Forte Developer 6 / Sun WorkShop 6 Analyzing Program Performance With Sun WorkShop 6 Explains how to use the new Sampling Collector and Sampling Analyzer (with examples and a discussion of advanced profiling topics) and includes information about the command-line analysis tool er_print, the LoopTool and LoopReport utilities, and UNIX profiling tools prof, gprof, and tcov.

Introduction to Sun WorkShop Acquaints you with the basic program development features of the Sun WorkShop integrated programming environment.
ForteTM C 6 / Sun WorkShop 6 Compilers C C User's Guide Describes the C compiler options, Sun-specific capabilities such as pragmas, the lint tool, parallelization, migration to a 64-bit operating system, and ANSI/ISO-compliant C.
ForteTM C++ 6 / Sun WorkShop 6 Compilers C++ C++ Library Reference Describes the C++ libraries, including C++ Standard Library, Tools.h++ class library, Sun WorkShop Memory Monitor, Iostream, and Complex.

C++ Migration Guide Provides guidance on migrating code to this version of the Sun WorkShop C++ compiler.

C++ Programming Guide Explains how to use the new features to write more efficient programs and covers templates, exception handling, runtime type identification, cast operations, performance, and multithreaded programs.

C++ User's Guide Provides information on command-line options and how to use the compiler.

Sun WorkShop Memory Monitor User's Manual Describes how the Sun WorkShop Memory Monitor solves the problems of memory management in C and C++. This manual is only available through your installed product (see /opt/SUNWspro/docs/index.html) and not at the docs.sun.com Web site.
ForteTM for High Performance Computing 6 / Sun WorkShop 6 Compilers Fortran 77/95 Fortran Library Reference Provides details about the library routines supplied with the Fortran compiler.

Fortran Programming Guide Discusses issues relating to input/output, libraries, program analysis, debugging, and performance.

Fortran User's Guide Provides information on command-line options and how to use the compilers.

FORTRAN 77 Language Reference Provides a complete language reference.

Interval Arithmetic Programming Reference Describes the intrinsic INTERVAL data type supported by the Fortran 95 compiler.
ForteTM TeamWare 6 / Sun WorkShop TeamWare 6 Sun WorkShop TeamWare 6 User's Guide Describes how to use the Sun WorkShop TeamWare code management tools.
Forte Developer 6/ Sun WorkShop Visual 6 Sun WorkShop Visual User's Guide Describes how to use Visual to create C++ and JavaTM graphical user interfaces.
ForteTM / Sun Performance Library 6 Sun Performance Library Reference Discusses the optimized library of subroutines and functions used to perform computational linear algebra and fast Fourier transforms.

Sun Performance Library User's Guide Describes how to use the Sun-specific features of the Sun Performance Library, which is a collection of subroutines and functions used to solve linear algebra problems.
Numerical Computation Guide Numerical Computation Guide Describes issues regarding the numerical accuracy of floating-point computations.
Standard Library 2 Standard C++ Class Library Reference Provides details on the Standard C++ Library.

Standard C++ Library User's Guide Describes how to use the Standard C++ Library.
Tools.h++ 7 Tools.h++ Class Library Reference Provides details on the Tools.h++ class library.

Tools.h++ User's Guide
Discusses use of the C++ classes for enhancing the efficiency of your programs.


TABLE P-4 describes related Solaris documentation available through the docs.sun.com Web site.

TABLE P-4   Related Solaris Documentation
Document Collection Document Title Description
Solaris Software Developer Linker and Libraries Guide Describes the operations of the Solaris link-editor and runtime linker and the objects on which they operate.

Programming Utilities Guide Provides information for developers about the special built-in programming tools that are available in the Solaris operating environment.



Sun Microsystems, Inc.
Copyright information. All rights reserved.
Feedback
Library   |   Contents   |   Previous   |   Next   |   Index