The Command Tool
The command tool is a small window that gives you access to the most frequently used DDD commands. It can be moved around on top of the DDD windows, but it can also be placed besides them.
By default, the command tool sticks to the DDD source window: Whenever you move the DDD source window, the command tool follows such that the distance between source window and command tool remains the same. By default, the command tool is also auto-raised, such that it stays on top of other DDD windows.
The command tool can be configured to appear as a command tool bar above the source window; see Edit => Preferences => Source => Tool Buttons Location for details.
Whenever you save DDD state, DDD also saves the distance between command tool and source window, such that you can select your own individual command tool placement. To move the command tool to its saved position, use View => Command Tool.

These are the buttons of the command tool. Note that not all buttons may be inactive, depending on the current state and the capabilities of the inferior debugger.
Run- Start program execution. When you click this button, your program will begin to execute immediately. See Starting Program Execution, for details.
Interrupt- Interrupt program execution. This is equivalent to sending an interrupt signal to the process. See Interrupting, for details.
Step- Continue running your program until control reaches a different source line, then stop it and return control to DDD. See Resuming Execution, for details.
Stepi- Execute one machine instruction, then stop and return to DDD. See Machine Code Execution, for details.
Next- Continue to the next source line in the current (innermost) stack frame. This is similar to
Step, but function calls that appear within the line of code are executed without stopping. See Resuming Execution, for details. Nexti- Execute one machine instruction, but if it is a function call, proceed until the function returns. See Machine Code Execution, for details.
Until- Continue running until a source line past the current line, in the current stack frame, is reached. See Resuming Execution, for details.
Finish- Continue running until just after function in the selected stack frame returns. Print the returned value (if any). See Resuming Execution, for details.
Cont- Resume program execution, at the address where your program last stopped; any breakpoints set at that address are bypassed. See Resuming Execution, for details.
Kill- Kill the process of the debugged program. See Killing the Program, for details.
Up- Select the stack frame (i.e. the function) that called this one. 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. This advances toward the innermost frame, to lower frame numbers, to frames that were created more recently. See Stack, for details.
Undo- Undo the most recent action. Almost all commands can be undone this way. See Undo and Redo, for details.
Redo- Redo the action most recently undone. Every command undone can be redone this way. See Undo and Redo, for details.
Edit- Invoke an editor for the current source file. See Editing Source Code, for details.
MakeRun the
makeprogram with the most recently given arguments. See Recompiling, for details.Customizing the Command Tool:
- Customizing Tool Position:
Node:Customizing the Command Tool, Next:Customizing Tool Position, Up:Command Tool
Customizing the Command Tool
The Command Tool can be customized in various ways.
- Disabling the Command Tool:
See Customizing Buttons, for details on customizing the tool buttons.
Node:Disabling the Command Tool, Up:Customizing the Command Tool
Disabling the Command Tool
You can disable the command tool and show its buttons in a separate row beneath the tool bar. To disable the command tool, set Edit => Preferences => Source => Tool Buttons Location => Source Window.

Here's the related resource:
| commandToolBar(class ToolBar) | Resource |
|---|---|
Whether the tool buttons should be shown in a tool bar above the source window (on) or within the command tool (off, default). Enabling the command tool bar disables the command tool and vice versa. |
|---|
Node:Customizing Tool Position, Previous:Customizing the Command Tool, Up:Command Tool
Command Tool Position
The following resources control the position of the command tool (see Customizing):
| autoRaiseTool(class AutoRaiseTool) | Resource |
|---|---|
If on (default), DDD will always keep the command tool on top of other DDD windows. If this setting interferes with your window manager, or if your window manager keeps the command tool on top anyway, set this resource to off. |
|---|
| stickyTool(class StickyTool) | Resource |
|---|---|
If on (default), the command tool automatically follows every movement of the source window. Whenever the source window is moved, the command tool is moved by the same offset such that its position relative to the source window remains unchanged. If off, the command tool does not follow source window movements. |
|---|
| toolRightOffset(class Offset) | Resource |
|---|---|
| The distance between the right border of the command tool and the right border of the source text (in pixels). Default is 8. |
|---|
| toolTopOffset(class Offset) | Resource |
|---|---|
| The distance between the upper border of the command tool and the upper border of the source text (in pixels). Default is 8. |
|---|
- Customizing Tool Decoration:
Node:Customizing Tool Decoration, Up:Customizing Tool Position
Customizing Tool Decoration
The following resources control the decoration of the command tool (see Customizing):
| decorateTool(class Decorate) | Resource |
|---|---|
| This resource controls the decoration of the command tool.
- If this is
off, the command tool is created as a transient window. Several window managers keep transient windows automatically on top of their parents, which is appropriate for the command tool. However, your window manager may be configured not to decorate transient windows, which means that you cannot easily move the command tool around. - If this is
on, DDD realizes the command tool as a top-level window. Such windows are always decorated by the window manager. However, top-level windows are not automatically kept on top of other windows, such that you may wish to set theautoRaiseToolresource, too. If this is
auto(default), DDD checks whether the window manager decorates transients. If yes, the command tool is realized as a transient window (as in theoffsetting); if no, the command tool is realized as a top-level window (as in theonsetting). Hence, the command tool is always decorated using the "best" method, but the extra check takes some time.| | --- |
Node:Getting Help, Next:Undo and Redo, Previous:Command Tool, Up:Windows