Info Node: (ddd.info)Top

ddd.info: Top
(dir)
Summary
Back to Software Index
Debugging with DDD
******************
DDD is a graphical front-end for GDB and other command-line debuggers.
This is the First Edition of `Debugging with DDD', 8 Feb, 2009, for
DDD Version 3.3.12.
The first part of this master menu lists the major nodes in this Info
document, including the label and command indices. The rest of the menu
lists all the lower level nodes in the document.
Summary- Summary of DDD.
Sample Session- A sample DDD session.
Invocation- Getting in and out of DDD.
Windows- The DDD windows, menus, and buttons.
Navigating- Moving through the source code.
Stopping- Making your program stop at specific locations.
Running- Running programs under DDD.
Examining Data- Examining variable values and data structures.
Machine-Level Debugging- Examining machine code and registers.
Changing the Program- Changing source and object code.
Commands- Entering and editing DDD commands.
Application Defaults- Resources used in DDD.
Bugs- How, when, and why to report DDD bugs.
Configuration Notes- Configuration-specific notes.
Dirty Tricks- Room for your contributions.
Extending- Extending DDD.
FAQ- Frequently Answered Questions.
License- The DDD license.
Help and Assistance- Mailing Lists and other resources.
Documentation License- The license of this document.
Label Index- All labels shown on the DDD GUI.
Key Index- Keys used to control DDD.
Command Index- Commands that can be typed within DDD.
Resource Index- All resources and environment variables.
File Index- All programs and files referenced by DDD.
Concept Index- All concepts as mentioned in this manual.
--- The Detailed Node Listing ---
Summary of DDD
About this Manual- Getting copies in various formats.
Free Software- How to copy and redistribute DDD.
Getting DDD- How to obtain copies of DDD.
Contributors- Who has done all this?
History- Old DDD versions.
A Sample DDD Session
Sample Program- Source `sample.c'
Getting In and Out of DDD
Invoking- How to invoke DDD.
Quitting- How to quit DDD.
Sessions- Saving work across invocations.
Remote Debugging- Running DDD on a different host.
Customizing Debugger Interaction- How DDD and GDB communicate.
Invoking DDD
Choosing an Inferior Debugger- Which debugger to use?
Options- How to invoke DDD
X Options- Setting X properties
Inferior Debugger Options- Customizing GDB, DBX, and so on
Multiple Instances- Running multiple DDD instances
X Warnings- Turning off obnoxious warnings
Inferior Debugger Options
GDB Options-
DBX and Ladebug Options-
XDB Options-
JDB Options-
PYDB Options-
Perl Options-
Bash Options-
GNU Make Options-
Persistent Sessions
Saving Sessions-
Resuming Sessions-
Deleting Sessions-
Customizing Sessions-
Remote Debugging
Remote Host- Running DDD on a Remote Host
Remote Debugger- Using a Remote Inferior Debugger
Remote Program- Debugging a Remote Program
Using DDD with a Remote Inferior Debugger
Customizing Remote Debugging-
Customizing Interaction with the Inferior Debugger
Debugger Invocation-
Debugger Initialization-
Debugger Communication-
Initializing the Inferior Debugger
GDB Initialization-
DBX Initialization-
XDB Initialization-
JDB Initialization-
PYDB Initialization-
Perl Initialization-
Bash Initialization-
Finding a Place to Start-
Opening the Selection-
The DDD Windows
Menu Bar- All DDD pull-down menus.
Tool Bar- The DDD icon buttons.
Command Tool- The floating command tool.
Getting Help- What does this thing mean?
Undo and Redo- Oops!
Customizing- You can customize DDD
The Menu Bar
File Menu- Selecting programs and processes.
Edit Menu- Cut, copy, paste, and preferences.
View Menu- All DDD windows.
Program Menu- Starting and stopping.
Commands Menu- All DDD commands.
Status Menu- Examining the program status.
Source Menu- Navigating around.
Data Menu- Examining data.
Maintenance Menu- Maintaining DDD.
Help Menu- Getting help.
Customizing the Menu Bar- Alternate key bindings, etc.
Customizing the Menu Bar
Auto-Raise Menus-
Customizing the Edit Menu-
The Tool Bar
Customizing the Tool Bar-
The Command Tool
Customizing the Command Tool-
Customizing Tool Position-
Customizing the Command Tool
Disabling the Command Tool-
Command Tool Position
Customizing Tool Decoration-
Customizing DDD
How Customizing Works-
Customizing Help-
Customizing Undo-
Customizing Windows-
Debugger Settings-
How Customizing DDD Works
Resources-
Changing Resources-
Saving Options-
Customizing DDD Help
Button tips- Turning off tips.
Tip of the day- Turning off the tip of the day.
Help Helpers- Helper programs invoked by Help.
Customizing the DDD Windows
Splash Screen- Turning off the splash screen.
Window Layout- Re-arranging windows.
Customizing Fonts- Using alternate fonts.
Toggling Windows- Turning off windows.
Text Fields- Popdown histories.
Icons- Iconifying DDD windows.
Adding Buttons- Create your own button set.
More Customizations-
Navigating through the Code
Compiling for Debugging- Always use `-g' to compile.
Opening Files- How to open a program for debugging.
Looking up Items- Searching files and functions.
Customizing Source- Arranging the source window.
Opening Files
Opening Programs- How to open a program for debugging.
Opening Core Dumps- Analyze a previous crash.
Opening Source Files- Open a source file of the program.
Filtering Files- DDD only lists matching files.
Looking up Items
Looking up Definitions- Jump towards a specific item.
Textual Search- Search within the current source.
Looking up Previous Locations- Navigate back and forth.
Source Path- Make DDD know where to search.
Customizing the Source Window
Customizing Glyphs-
Customizing Searching-
Customizing Source Appearance-
Customizing Source Scrolling-
Customizing Source Lookup-
Customizing File Filtering-
Stopping the Program
Breakpoints- Stop at a certain point.
Watchpoints- Stop at a certain condition.
Interrupting- Stop manually.
Stopping X Programs- Take care of grabbed pointers!
Breakpoints
Setting Breakpoints-
Deleting Breakpoints-
Disabling Breakpoints-
Temporary Breakpoints-
Editing Breakpoint Properties-
Breakpoint Conditions-
Breakpoint Ignore Counts-
Breakpoint Commands-
Moving and Copying Breakpoints-
Looking up Breakpoints-
Editing all Breakpoints-
Hardware-Assisted Breakpoints-
Watchpoints
Setting Watchpoints-
Editing Watchpoint Properties-
Editing all Watchpoints-
Deleting Watchpoints-
Stopping X Programs
Customizing Grab Checking-
Running the Program
Starting Program Execution-
Using the Execution Window-
Attaching to a Process-
Program Stop-
Resuming Execution-
Continuing Somewhere Else-
Stack-
Undoing Program Execution-
Threads-
Signals-
Killing the Program-
Starting Program Execution
Arguments- Your program's arguments.
Environment- Your program's environment.
Working Directory- Your program's directory.
Input/Output- Your program's I/O.
Using the Execution Window
Customizing the Execution Window-
Attaching to a Running Process
Customizing Attaching to Processes-
Examining the Stack
Frames- Callers and callees.
Backtraces- And you may ask yourself, `how did I get here?'
Selecting a frame- Moving up and down.
Examining Data
Value Tips- Just move the pointer on a variable.
Printing Values- Printing a value in the debugger console.
Displaying Values- Displaying structures as graphs.
Plotting Values- Displaying values as plots.
Examining Memory- Low-level memory examination.
Displaying Complex Values in the Data Window
Display Basics- How to create, manipulate, and delete displays.
Arrays- Special functions for arrays.
Assignment- Setting variable values.
Examining Structures- Dereferencing pointers and other references.
Customizing Displays- Data Themes.
Layouting the Graph- Automatic layout.
Printing the Graph- Printing on paper.
Display Basics
Creating Single Displays-
Selecting Displays-
Showing and Hiding Details-
Rotating Displays-
Displaying Local Variables-
Displaying Program Status-
Refreshing the Data Window-
Placement-
Clustering-
Creating Multiple Displays-
Editing all Displays-
Deleting Displays-
Arrays
Array Slices- Displaying FROM..TO parts of an array
Repeated Values- How repeated values are handled.
Arrays as Tables- Displaying two-dimensional arrays.
Examining Structures
Dependent Values- Edges from values to values.
Dereferencing Pointers- Examining pointer-based data structures.
Shared Structures- Multiple pointers to one display.
Display Shortcuts- Customize your own menus.
Customizing Displays
Using Data Themes-
Applying Data Themes to Several Values-
Editing Themes-
Writing Data Themes-
Display Resources-
VSL Resources-
Layouting the Graph
Moving Displays-
Scrolling Data-
Aligning Displays-
Automatic Layout-
Rotating the Graph-
Plotting Values
Plotting Arrays- Plotting 1-D and 2-D arrays.
Plot Appearance- Controlling the appearance.
Scalars and Composites- Plotting simple values.
Plotting Histories- Plotting the history of a variable.
Printing Plots- Printing on paper.
Entering Plotting Commands- Raw Gnuplot commands.
Exporting Plot Data- Processing data outside of DDD
Animating Plots- Visualizing dynamic behaviour.
Customizing Plots- All at your leisure.
Customizing Plots
Gnuplot Invocation-
Gnuplot Settings-
Machine-Level Debugging
Machine Code- Examining machine code.
Machine Code Execution- Stepping across instructions.
Registers- Examining registers.
Customizing Machine Code- Settings.
Changing the Program
Editing Source Code- You can invoke a source editor from DDD.
Recompiling- Invoking `make' from within DDD.
Patching- Changing source and object code.
Editing Source Code
Customizing Editing-
In-Place Editing-
The Command-Line Interface
Entering Commands- Direct interaction with the inferior debugger.
TTY mode- Controlling DDD from a terminal.
Integrating DDD- DDD and your programming environment.
Defining Buttons- Add your own DDD buttons.
Defining Commands- Add your own DDD commands.
Entering Commands
Command Completion- Using the <TAB> key.
Command History- Repeating previous commands.
Typing in the Source Window-
Defining Buttons
Customizing Buttons- Adding your own command buttons.
Defining Commands
GDB Simple Commands-
GDB Argument Commands-
Commands with Other Debuggers-
Application Defaults
Actions- All actions used in translation tables.
Images- All images used in resources,
Actions
General Actions-
Data Display Actions-
Debugger Console Actions-
Source Window Actions-
Bugs and How To Report Them
Where to Send Bug Reports- Our e-mail address.
Is it a DDD Bug?- DDD may not be at fault.
How to Report Bugs- Report all the facts.
Bug Reports- Include all configuration information.
Diagnostics- Maintaining DDD
Getting Diagnostics
Logging- DDD logs all interactions.
Debugging DDD- Facilities to debug DDD.
Customizing Diagnostics- All diagnostics resources.
Logging
Disabling Logging-
Configuration Notes
GDB- Using DDD with GDB
DBX- Using DDD with DBX
Ladebug- Using DDD with Ladebug
XDB- Using DDD with XDB
JDB- Using DDD with JDB
Perl- Using DDD with Perl
Bash- Using DDD with Bash
Make- Using DDD with GNU Make
LessTif- Using DDD with LessTif
Using DDD with GDB
WDB- Using DDD with WDB
WindRiver GDB- Using DDD with WindRiver GDB (Tornado)
automatically generated by info2www version 1.2