The Menu Bar
The DDD Menu Bar gives you access to all DDD functions.
File
- Perform file-related operations such as selecting programs, processes, and sessions, printing graphs, recompiling, as well as exiting DDD.
Edit
- Perform standard editing operations, such as cutting, copying, pasting, and killing selected text. Also allows editing DDD options and preferences.
View
- Allows accessing the individual DDD windows.
Program
- Perform operations related to the program being debugged, such as starting and stopping the program.
Commands
- Perform operations related to DDD commands, such as accessing the command history or defining new commands.
Status
- Examine the program status, such as the stack traces, registers, or threads.
Source
- Perform source-related operations such as looking up items or editing breakpoints.
Data
- Perform data-related operations such as editing displays or layouting the display graph.
Maintenance
- Perform operations that are useful for debugging DDD. By default, this menu is disabled.
Help
- Give help on DDD usage.
There are two ways of selecting an item from a pull-down menu:
- Select an item in the menu bar by moving the cursor over it and click mouse button 1. Then move the cursor over the menu item you want to choose and click left again.
- Select an item in the menu bar by moving the cursor over it and click and hold mouse button 1. With the mouse button depressed, move the cursor over the menu item you want, then release it to make your selection.
The menus can also be Illegal HTML tag removed : torn off (i.e. turned into a persistent window) by selecting the dashed line at the top.
If a command in the pull-down menu is not applicable in a given situation, the command is Illegal HTML tag removed : disabled and its name appears faded. You cannot invoke items that are faded. For example, many commands on the Edit
menu appear faded until you select text on which they are to operate; after you select a block of text, edit commands are enabled.
- 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.
Node:File Menu, Next:Edit Menu, Up:Menu Bar
The File Menu
The File
menu contains file-related operations such as selecting programs, processes, and sessions, printing graphs, recompiling, as well as exiting DDD.
Open Program
Open Class
- Open a program or class to be debugged (<Ctrl+O>). See Opening Programs, for details.
Open Recent
- Re-open a recently opened program to be debugged. See Opening Programs, for details.
Open Core Dump
- Open a core dump for the currently debugged program. See Opening Core Dumps, for details.
Open Source
- Open a source file of the currently debugged program. See Opening Source Files, for details.
Open Session
- Resume a previously saved DDD session (<Ctrl+N>). See Resuming Sessions, for details.
Save Session As
- Save the current DDD session such that you can resume it later (<Ctrl+S>). See Saving Sessions, for details.
Attach to Process
- Attach to a running process of the debugged program. See Attaching to a Process, for details.
Detach Process
- Detach from the running process. See Attaching to a Process, for details.
Print Graph
- Print the current graph on a printer. See Printing the Graph, for details.
Change Directory
- Change the working directory of your program. See Working Directory, for details.
Make
- Run the
make
program (<Ctrl+M>). See Recompiling, for details. Close
- Close this DDD window (<Ctrl+W>). See Quitting, for details.
Restart
- Restart DDD.
Exit
- Exit DDD (<Ctrl+Q>). See Quitting, for details.
Node:Edit Menu, Next:View Menu, Previous:File Menu, Up:Menu Bar
The Edit Menu
The Edit
menu contains standard editing operations, such as cutting, copying, pasting, and killing selected text. Also allows editing DDD options and preferences.
Undo
- Undo the most recent action (<Ctrl+Z>). Almost all commands can be undone this way. See Undo and Redo, for details.
Redo
- Redo the action most recently undone (<Ctrl+Y>). Every command undone can be redone this way. See Undo and Redo, for details.
Cut
Removes the selected text block from the current text area and makes it the X clipboard selection (<Ctrl+X> or <Shift+Del>; See Customizing the Edit Menu, for details). Before executing this command, you have to select a region in a text area--either with the mouse or with the usual text selection keys.
This item can also be applied to displays (see Deleting Displays).
Copy
Makes a selected text block the X clipboard selection (<Ctrl+C> or <Ctrl+Ins>; See Customizing the Edit Menu, for details). You can select text by selecting a text region with the usual text selection keys or with the mouse. See Customizing the Edit Menu, for changing the default accelerator.
This item can also be applied to displays (see Deleting Displays).
Paste
- Inserts the current value of the X clipboard selection in the most recently selected text area (<Ctrl+V> or <Shift+Ins>; See Customizing the Edit Menu, for details). You can paste in text you have placed in the clipboard using
Copy
orCut
. You can also usePaste
to insert text that was pasted into the clipboard from other applications. Clear
- Clears the most recently selected text area (<Ctrl+U>).
Delete
Removes the selected text block from the most recently selected text area, but does not make it the X clipboard selection.
This item can also be applied to displays (see Deleting Displays).
Select All
- Selects all characters from the most recently selected text area (<Ctrl+A> or or <Ctrl+Shift+A>; see Customizing the Edit Menu, for details).
Preferences
- Allows you to customize DDD interactively. See Customizing, for details.
Debugger Settings
- Allows you to customize the inferior debugger. See Debugger Settings, for details.
Save Options
- If set, all preferences and settings will be saved for the next DDD invocation. See Saving Options, for details.
Node:View Menu, Next:Program Menu, Previous:Edit Menu, Up:Menu Bar
The View Menu
The View
menu allows accessing the individual DDD windows.
Command Tool
- Open and recenter the command tool (<Alt+8>). See Command Tool, for details.
Execution Window
- Open the separate execution window (<Alt+9>). See Using the Execution Window, for details.
Debugger Console
- Open the debugger console (<Alt+1>). See Commands, for details.
Source Window
- Open the source window (<Alt+2>). See Navigating, for details.
Data Window
- Open the data window (<Alt+3>). See Displaying Values, for details.
Machine Code Window
- Show machine code (<Alt+4>). See Machine Code, for details.
Node:Program Menu, Next:Commands Menu, Previous:View Menu, Up:Menu Bar
The Program Menu
The Program
menu performs operations related to the program being debugged, such as starting and stopping the program.
Most of these operations are also found on the command tool (see Command Tool).
Run
- Start program execution, prompting for program arguments (<F2>). See Starting Program Execution, for details.
Run Again
- Start program execution with the most recently used arguments (<F3>). See Starting Program Execution, for details.
Run in Execution Window
- If enabled, start next program execution in separate execution window. See Using the Execution Window, for details.
Step
- Continue running your program until control reaches a different source line, then stop it and return control to DDD (<F5>). See Resuming Execution, for details.
Step Instruction
- Execute one machine instruction, then stop and return to DDD (<Shift+F5>). See Machine Code Execution, for details.
Next
- Continue to the next source line in the current (innermost) stack frame (<F6>). This is similar to
Step
, but function calls that appear within the line of code are executed without stopping. See Resuming Execution, for details. Next Instruction
- Execute one machine instruction, but if it is a function call, proceed until the function returns (<Shift+F6>). See Machine Code Execution, for details.
Until
- Continue running until a source line past the current line, in the current stack frame, is reached (<F7>). See Resuming Execution, for details.
Finish
- Continue running until just after function in the selected stack frame returns (<F8>). Print the returned value (if any). See Resuming Execution, for details.
Continue
- Resume program execution, at the address where your program last stopped (<F9>); any breakpoints set at that address are bypassed. See Resuming Execution, for details.
Continue Without Signal
- Continue execution without giving a signal (<Shift+F9>). This is useful when your program stopped on account of a signal and would ordinary see the signal when resumed with
Continue
. See Signals, for details. Kill
- Kill the process of the debugged program (<F4>). See Killing the Program, for details.
Interrupt
- Interrupt program execution (<Esc> or <Ctrl+C>; see Customizing the Edit Menu, for details). This is equivalent to sending an interrupt signal to the process. See Interrupting, for details.
Abort
- Abort program execution (and maybe debugger execution, too; <Ctrl+\>). This is equivalent to sending a
SIGABRT
signal to the process. See Quitting, for details.
Node:Commands Menu, Next:Status Menu, Previous:Program Menu, Up:Menu Bar
The Commands Menu
The Commands
menu performs operations related to DDD commands, such as accessing the command history or defining new commands.
Most of these items are not meant to be actually executed via the menu; instead, they serve as reminder for the equivalent keyboard commands.
Command History
- View the command history. See Command History, for details.
Previous
- Show the previous command from the command history (<Up>). See Command History, for details.
Next
- Show the next command from the command history (<Down>). See Command History, for details.
Find Backward
- Do an incremental search backward through the command history (<Ctrl+B>). See Command History, for details.
Find Forward
- Do an incremental search forward through the command history (<Ctrl+F>). See Command History, for details.
Quit Search
- Quit incremental search through the command history (<Esc>). See Command History, for details.
Complete
- Complete the current command in the debugger console (<Tab>). See Entering Commands, for details.
Apply
- Apply the current command in the debugger console (<Apply>). See Entering Commands, for details.
Clear Line
- Clear the current command line in the debugger console (<Ctrl+U>). See Entering Commands, for details.
Clear Window
- Clear the debugger console (<Shift+Ctrl+U>). See Entering Commands, for details.
Define Command
- Define a new debugger command. See Defining Commands, for details.
Edit Buttons
- Customize DDD buttons. See Defining Buttons, for details.
Node:Status Menu, Next:Source Menu, Previous:Commands Menu, Up:Menu Bar
The Status Menu
The Status
menu lets you examine the program status, such as the stack traces, registers, or threads.
Backtrace
- View the current backtrace. See Backtraces, for a discussion.
Registers
- View the current register contents. See Registers, for details.
Threads
- View the current threads. See Threads, for details.
Signals
- View and edit the current signal handling. See Signals, for details.
Up
- Select the stack frame (i.e. the function) that called this one (<Ctrl+Up>). This advances toward the outermost frame, to higher frame numbers, to frames that have existed longer. See Stack, for details.
Down
- Select the stack frame (i.e. the function) that was called by this one (<Ctrl+Down>). This advances toward the innermost frame, to lower frame numbers, to frames that were created more recently. See Stack, for details.
Node:Source Menu, Next:Data Menu, Previous:Status Menu, Up:Menu Bar
The Source Menu
The Source
menu performs source-related operations such as looking up items or editing breakpoints.
Breakpoints
- Edit all Breakpoints. See Editing all Breakpoints, for details.
Lookup ()
- Look up the argument
()
in the source code (<Ctrl+/>). See Looking up Definitions, for details. Find >> ()
- Look up the next occurrence of the argument
()
in the current source code (<Ctrl+.>). See Textual Search, for details. Find << ()
- Look up the previous occurrence of the argument
()
in the current source code (<Ctrl+,>). See Textual Search, for details. Find Words Only
- If enabled, find only complete words (<Alt+W>). See Textual Search, for details.
Find Case Sensitive
- If enabled, find is case-sensitive (<Alt+I>). See Textual Search, for details.
Display Line Numbers
- If enabled, prefix source lines with their line number (<Alt+N>). See Customizing Source, for details.
Display Machine Code
- If enabled, show machine code (<Alt+4>). See Machine Code, for details.
Edit Source
- Invoke an editor for the current source file (<Shift+Ctrl+V>). See Editing Source Code, for details.
Reload Source
- Reload the current source file (<Shift+Ctrl+L>). See Editing Source Code, for details.
Node:Data Menu, Next:Maintenance Menu, Previous:Source Menu, Up:Menu Bar
The Data Menu
The Data
menu performs data-related operations such as editing displays or layouting the display graph.
Displays
- Invoke the Display Editor. See Editing all Displays, for details.
Watchpoints
- Edit all Watchpoints. See Editing all Watchpoints, for details.
Memory
- View a memory dump. See Examining Memory, for details.
Print ()
- Print the value of
()
in the debugger console (<Ctrl+=>). See Printing Values, for details. Display ()
- Display the value of
()
in the data window (<Ctrl+->). See Displaying Values, for details. Detect Aliases
- If enabled, detect shared data structures (<Alt+A>). See Shared Structures, for a discussion.
Display Local Variables
- Show all local variables in a display (<Alt+L>). See Displaying Local Variables, for details.
Display Arguments
- Show all arguments of the current function in a display (<Alt+U>). See Displaying Local Variables, for details.
Status Displays
- Show current debugging information in a display. See Displaying Program Status, for details.
Align on Grid
- Align all displays on the grid (<Alt+G>). See Aligning Displays, for a discussion.
Rotate Graph
- Rotate the graph by 90 degrees (<Alt+R>). See Rotating the Graph, for details.
Layout Graph
- Layout the graph (<Alt+Y>). See Layouting the Graph, for details.
Refresh
- Update all values in the data window (<Ctrl+L>). See Refreshing the Data Window, for details.
Node:Maintenance Menu, Next:Help Menu, Previous:Data Menu, Up:Menu Bar
The Maintenance Menu
The Maintenance
menu performs operations that are useful for debugging DDD.
By default, this menu is disabled; it is enabled by specifically requesting it at DDD invocation (via the --maintenance
option; see Options). It is also enabled when DDD gets a fatal signal.
Debug
DDD- Invoke a debugger (typically, GDB) and attach it to this DDD process (<F12>). This is useful only if you are a DDD maintainer.
Dump Core Now
- Make this DDD process dump core. This can also be achieved by sending DDD a
SIGUSR1
signal. Tic Tac Toe
- Invoke a Tic Tac Toe game. You must try to get three stop signs in a row, while preventing DDD from doing so with its skulls. Click on
New Game
to restart. When
DDDCrashes
Select what to do when DDD gets a fatal signal.
Debug
DDD- Invoke a debugger on the DDD core dump when DDD crashes. This is useful only if you are a DDD maintainer.
Dump Core
- Just dump core when DDD crashes; don't invoke a debugger. This is the default setting, as the core dump may contain important information required for debugging DDD.
Do Nothing
- Do not dump core or invoke a debugger when DDD crashes.
Remove Menu
* Make this menu inaccessible again.
Node:Help Menu, Next:Customizing the Menu Bar, Previous:Maintenance Menu, Up:Menu Bar
The Help Menu
The Help
menu gives help on DDD usage. See Getting Help, for a discussion on how to get help within DDD.
Overview
- Explains the most important concepts of DDD help.
On Item
- Lets you click on an item to get help on it.
On Window
- Gives you help on this DDD window.
What Now?
- Gives a hint on what to do next.
Tip of the Day
- Shows the current tip of the day.
- DDD
Reference
- Shows the DDD Manual.
- DDD
News
- Shows what's new in this DDD release.
Debugger Reference
- Shows the on-line documentation for the inferior debugger.
- DDD
License
- Shows the DDD License (see License).
- DDDWWW
Page
- Invokes a WWW browser for the DDD WWW page.
About
DDD- Shows version and copyright information.
Node:Customizing the Menu Bar, Previous:Help Menu, Up:Menu Bar
Customizing the Menu Bar
The Menu Bar can be customized in various ways (see Customizing).
- Auto-Raise Menus:
- Customizing the Edit Menu:
Node:Auto-Raise Menus, Next:Customizing the Edit Menu, Up:Customizing the Menu Bar
Auto-Raise Menus
You can cause pull-down menus to be raised automatically.
autoRaiseMenu(class AutoRaiseMenu) | Resource |
---|---|
If on (default), DDD will always keep the pull down menu on top of the DDD main window. If this setting interferes with your window manager, or if your window manager does not auto-raise windows, set this resource to off . |
---|
autoRaiseMenuDelay(class AutoRaiseMenuDelay) | Resource |
---|---|
The time (in ms) during which an initial auto-raised window blocks further auto-raises. This is done to prevent two overlapping auto-raised windows from entering an auto-raise loop. Default is 100 . |
---|
Node:Customizing the Edit Menu, Previous:Auto-Raise Menus, Up:Customizing the Menu Bar
Customizing the Edit Menu
In the Menu Bar, the Edit
Menu can be customized in various ways. Use Edit => Preferences => Startup
to customize these keys.
The <Ctrl+C> key can be bound to different actions, each in accordance with a specific style guide.
Copy
- This setting binds <Ctrl+C> to the Copy operation, as specified by the KDE style guide. In this setting, use <ESC> to interrupt the debuggee.
Interrupt
This (default) setting binds <Ctrl+C> to the Interrupt operation, as used in several UNIX command-line programs. In this setting, use <Ctrl+Ins> to copy text to the clipboard.
The <Ctrl+A> key can be bound to different actions, too.
Select All
- This (default) setting binds <Ctrl+A> to the
Select All
operation, as specified by the KDE style guide. In this setting, use <Home> to move the cursor to the beginning of a line. Beginning of Line
- This setting binds <Ctrl+A> to the
Beginning of Line
operation, as used in several UNIX text-editing programs. In this setting, use <Ctrl+Shift+A> to select all text.
Here are the related DDD resources:
cutCopyPasteBindings(class BindingStyle) | Resource |
---|---|
| Controls the key bindings for clipboard operations.
- If this is
Motif
(default), Cut/Copy/Paste is on <Shift+Del>/<Ctrl+Ins>/<Shift+Ins>. This is conformant to the M*tif style guide. If this is
KDE
, Cut/Copy/Paste is on <Ctrl+X>/<Ctrl+C>/<Ctrl+V>. This is conformant to the KDE style guide. Note that this means that <Ctrl+C> no longer interrupts the debuggee; use <ESC> instead.| | --- |
selectAllBindings(class BindingStyle) | Resource |
---|---|
| Controls the key bindings for the Select All
operation.
- If this is
Motif
, Select All is on <Shift+Ctrl+A>. If this is
KDE
(default), Select All is on <Ctrl+A>. This is conformant to the KDE style guide. Note that this means that <Ctrl+A> no longer moves the cursor to the beginning of a line; use <Home> instead.| | --- |
Node:Tool Bar, Next:Command Tool, Previous:Menu Bar, Up:Windows