Table of Contents
xxgdb - X window system interface to the gdb debugger.
xxgdb
[ -toolkitoption ... ] [-xxgdboption ... ] [-gdboption ... ] [objfile [ corefile ]]
Xxgdb is a graphical user interface to the gdb debugger under
the X Window System. It provides visual feedback and mouse input for the
user to control program execution through breakpoints, to examine and traverse
the function call stack, to display values of variables and data structures,
and to browse source files and functions.
Xxgdb allows initial gdb commands
stored in the file .gdbinit to be executed immediately after the symbolic
information is read. If .gdbinit does not exist in the current directory,
the user's home directory is searched (~/.gdbinit). Option -nx can be used
to prevent xxgdb from executing this file. Option -i can be used to change
the file name of command file.
Objfile is an object file produced by a compiler
with the appropriate option (-g) specified to produce symbol table information
for gdb.
If a file named core exists in the current directory or a corefile
is specified, xxgdb can be used to examine the state of the program when
the core dump occurred.
The name of the debugger invoked by xxgdb is, by
default, gdb, but it can be overridden with the environment variable XXGDB_DEBUGGER
or with the db_name option.
Xxgdb accepts all of the standard X Toolkit
command line options (see X(1)
), and all the gdb options (see gdb(1)
),
plus the following xxgdb specific options:
- -db_name
- Specify the name of the
debugger to override the default "gdb". WARNING : by default prompt is the
name of the debugger enclosed in parenthesis followed by a space. So if
the prompt is still "(gdb) ", you HAVE TO use -db_prompt "gdb"
- -db_prompt
- Specify
to xxgdb what is the debugger prompt. The default is to expect the prompt
to be the name of the debugger enclosed in parenthesis followed by a space
(eg, "(gdb) ").
- -i
- Specify the filename of initial gdb command file. The default
is ".gdbinit".
- -nx
- Do not execute .gdbinit file (or file specified with -i)
- -bigicon
- Uses
a 64x64 icon instead of the default 48x48 icon.
Xxgdb consists
of the following subwindows:
- File Window
- Display the full pathname of the
file displayed in the source window, and the line number of the caret.
- Source
Window
- Display the contents of a source file.
- Message Window
- Display the execution
status and error messages of xxgdb .
- Command Window
- Provide a list of the
common gdb commands which are invoked by simply clicking the LEFT mouse
button.
- Dialogue Window
- Provide a typing interface to gdb.
- Display Window
- Provide
a window for displaying variables each time execution stops.
- Popup Windows
- Provide
windows for displaying variables (see "Displaying C Data Structures" below).
The relative sizes of the source window, command window, and the dialogue
window can be adjusted by dragging the grip (a small square near the right
edge of a horizontal border) with the LEFT mouse button down.
Text
selection in the source window is modified to make it easier to select
C expressions. LEFT mouse button down selects a C expression by highlighting
it in reverse-video. LEFT mouse button down also positions the caret and
updates the line label accordingly.
C expression selection is based on the
resource delimiters which determines the set of characters that delimits
a C expression. (The default word selection behavior in the Athena text
widget selects a word delimited by white spaces.) Text selection adjustment
is possible by holding the LEFT mouse button down and dragging.
A LEFT mouse
button click with the SHIFT button down prints the value of the expression
selected.
Pressing the LEFT mouse button scrolls the text forward,
whereas pressing the RIGHT mouse button scrolls the text backward. The
amount of scrolling depends on the distance of the pointer button away
from the top of the scrollbar. If the button is pressed at the top of the
scrollbar, only one line of text is scrolled. If the button is pressed
at the bottom of the scrollbar, one screenful of text is scrolled.
Pressing
the MIDDLE mouse button changes the thumb position of the scrollbar. Dragging
the MIDDLE mouse button down moves the thumb along and changes the text
displayed.
If compiled, with the right option, xxgdb can use
a separate io window to talk to gdb, so program output is not confused
with gdb output. Type command 'iowin' in Dialogue Window to create io window.
If you get 'Undefined command' error message, then xxgdb was not compiled
for that feature. The program xxgdbiowin is used for this io window.
- run
- Begin program execution.
- cont
- Continue execution
from where it stopped.
- next
- Execute one source line, without stepping into
any function call.
- step
- Execute one source line, stepping into a function
if the source line contains a function call.
- finish
- Continue execution until
the selected procedure returns; the current procedure is used if none is
selected.
- break
- Stop program execution at the line or
in the function selected. To set a breakpoint in the program, place the
caret at the start of the source line or on the function name and click
the break button. A stop sign will appear next to the source line.
- tbreak
- Set
a breakpoint enabled only for one stop. This is the same as the break button
except the breakpoint is automatically disabled the first time it hit.
- delete
- Remove
the breakpoint on the source line selected or the breakpoint number selected.
- show brkpts
- Show the current breakpoints (both active and inactive).
- stack
- Show a stack trace of the functions called.
- up
- Move up one level
on the call stack.
- down
- Move down one level on the call stack.
- print
- Print the value of a selected expression. (also see "Displaying
C Data Structures" below)
- print *
- Print the value of the object the selected
expression is pointing to. (also see "Displaying C Data Structures" below)
- display
- Display the value of a selected expression in the display window,
updating its value every time execution stops.
- undisplay
- Stop displaying
the value of the selected expression in the display window. If the selected
expression is a constant, it refers to the display number associated with
an expression in the display window.
- args
- Print the arguments of the selected
frame.
- show display
- Show the names of currently displayed expressions. .IP
"locals"
Print the local variables of the selected frame.
- stack
- Print a backtrace
of the entire stack.
- search
- Pop up a search panel
which allows both forward (>>) and reverse (<<) search of text strings in the
source file. Hitting carriage return after entering the search string will
begin a forward search and pop down the search panel.
- file
- Pop up a directory
browser that allows the user to move up and down in the directory tree,
to select a text file to be displayed, to select an executable file to
debug, or to select a core file to debug. Directory entries are marked with
a trailing slash (`/') and executables with a trailing asterisk (`*'). Filenames
beginning with a dot (`.') or ending with a tilde (`~') are not listed in the
menu.
- search
- Pop up a search panel which allows both forward (>>) and reverse
(<<) search of text strings in the source file. Hitting carriage return after
entering the search string will begin a forward search and pop down the
search panel.
- yes
- Send 'y' (yes) to gdb. To be used when gdb requires a yes/no
response.
- no
- Send 'n' (no) to gdb. To be used when gdb requires a yes/no response.
- quit
- Exit xxgdb.
Xxgdb provides some primitive
support for graphically displaying C structures and the ability of following
pointers. Pressing the RIGHT mouse button on the print (or print *) command
button displays the value of the selected expression (or the value the
selected expression is pointing to) in a popup. If the value is a pointer
or a structure containing pointers, the user can examine the value of the
object that pointer is pointing to by clicking the pointer value. This
will create another popup that displays the object the pointer points to.
Clicking the label of the popup pops down itself and all of its descendants.
To change the default values of widget resources used in xxgdb,
you need to reference the widgets by name or by class. The widget hierarchies
for the main window, the file menu, the search dialog box, and the popup
data display used in xxgdb are shown as follows, with the name of the widget
followed by the name of its class in parentheses:
Main window:
toplevel (ToplevelShell)
vpane (Paned)
fileWindow (Form)
fileLabel (Label)
lineLabel (Label)
sourceForm (Form)
sourceWindow (AsciiText)
messageWindow (Label)
commandWindow (Box)
run (Command)
cont (Command)
next (Command)
step (Command)
finish (Command)
break (Command)
tbreak (Command)
delete (Command)
up (Command)
down (Command)
print (Command)
print * (Command)
display (Command)
undisplay (Command)
args (Command)
locals (Command)
stack (Command)
search (Command)
file (Command)
show display (Command)
show brkpts (Command)
yes (Command)
no (Command)
quit (Command)
dialogWindow (AsciiText)
displayWindow (AsciiText)
File menu:
File Directory (TransientShell)
popup (Paned)
fileMenuLabel (Label)
fileMenu (List)
cancelButton (Command)
Search dialog box:
Search (TransientShell)
searchPopup (Dialog)
<< (Command)
>> (Command)
DONE (Command)
Data display popup:
Data Popup (TransientShell)
popup (Form)
label (Label)
dataDpyWindow (AsciiText)
In addition to the standard X resources, xxgdb uses the following application-specific
resources for user customization. The value in parentheses is the default
value.
- bell
- If True, the bell is on. (True)
- displayWindow
- If True, the display
window appears on start up. (False)
- delimiters
- The set of delimiters for
word selection. (" !%^&*()+=~|;:{},/#<?
- stop_color
- Color of the stop sign. (Red)
- arrow_color
- Color of the arrow sign. (Blue)
- updown_color
- Color of the updown
sign. (Blue)
- bomb_color
- Color of the bomb sign. (Red)
- dataDpyMaxHeight
- Maximum
height of the data display window. (300)
- dataDpyMaxWidth
- Maximum width of
the data display window. (600)
- prompt
- The prompt string used in xxgdb. ("(xxgdb)
")
- db_name
- The name of the debugger program. ("gdb")
- db_prompt
- The prompt
string of the debugger program. ("(gdb) ")
- gdbinit
- The filename of initial
command file. (".gdbinit")
- nx
- If True, xxgdb will not execute .gdbinit at start-up.
(False)
- tabstop
- When displaying source code, the width (in spaces) of a
tab. (8)
a.out default object file
core default core file
~/XDbx resources file (or /usr/lib/X11/app-defaults/XDbx)
.gdbinit local initial commands file
~/.gdbinit user's initial commands file
See AlsoX(1), gdb(1) CopyrightCopyright 1989 The University of Texas at
Austin. Copyright 1990 Microelectronics and Computer Technology Corporation.
Copyright 1990-1994 Thomson Consumer Electronics, Inc. AuthorPo Cheung. Pierre
Willard.