dbx User's Guide

Document Number: 007-0906-140

Front Matter

| List of Examples | List of Tables | List of Procedures |

Table of Contents

New Features in This Manual

About This Guide
Related Publications
Obtaining Publications
Reader Comments

1. Getting Started with dbx
Examining Core Dumps to Determine Cause of Failure
Debugging Your Programs
Studying a New Program
Avoiding Common Pitfalls

2. Running dbx
Compiling a Program for Debugging under dbx
Compiling and Linking Programs with Dynamic Shared Objects
Invoking dbx
Running Your Program (run, rerun, and sort)
Automatically Executing Commands on Startup
Using Online Help
Entering Multiple Commands on a Single Line
Spanning a Command Across Multiple Lines
Invoking a Shell
Quitting dbx

3. Examining Source Files
Specifying Source Directories
Changing Source Files
Listing Source Code
Listing Inlines and Clones
Searching through Source Code
Calling an Editor

4. Controlling dbx
Creating and Removing dbx Variables
Using the History Feature and the History Editor
Creating and Removing dbx Aliases
Recording and Playing Back dbx Input and Output
Executing dbx Scripts

5. Examining and Changing Data
Using Expressions
Printing Expressions
Using Data Types and Type Coercion (Casts)
Qualifying Names of Program Elements
Displaying and Changing Program Variables
Displaying and Changing Environment Variables Used by a Program
Using the High-Level Debugging Language duel
Determining Variable Scopes and Fully Qualified Names
Displaying Type Declarations
Examining the Stack
Using Interactive Function Calls
Obtaining Basic Blocks Counts
Accessing C++ Member Variables

6. Controlling Program Execution
Setting Breakpoints
Tracing Program Execution
Writing Conditional Commands
Managing Breakpoints, Traces, and Conditional Commands
Using Signal Processing
Stopping on C++ Exceptions
Stopping at System Calls
Stepping through Your Program
Starting at a Specified Line
Referring to C++ Functions

7. Debugging Machine Language Code
Examining and Changing Register Values
Examining Memory and Disassembling Code
Setting Machine-Level Breakpoints
Continuing Execution after a Machine-Level Breakpoint
Tracing Execution at the Machine Level
Writing Conditional Commands at the Machine Level
Stepping through Machine Code

8. Debugging Multiprocess Programs
Processes and Threads
Listing Available Processes
Adding a Process to the Process Pool
Deleting a Process from the Process Pool
Selecting a Process
Suspending a Process
Resuming a Suspended Process
Waiting for a Resumed Process
Waiting for Any Running Process
Killing a Process
Handling fork System Calls
Handling exec System Calls
Handling sproc System Calls and Process Group Debugging

A. dbx Commands

B. Predefined Aliases

C. Predefined dbx Variables