packages icon

  Copyright 1989 The University of Texas at Austin
  Copyright 1990 Microelectronics and Computer Technology Corporation
  Copyright 1990 Thomson Consumer Electronics, Inc.
  Copyright 1991 Bull HN Worldwide Info Systems, Inc.
  Copyright 1993, 1994 Proteon, Inc.


Mxgdb is a Motif based Graphical User Interface (GUI) to the GNU gdb
debugger. It provides a "point and click" interface to the most
heavily used gdb commands, a command line interface to gdb, a
dynamically updated source display, and lots more. Mxgdb is based on
xxgdb which is based on xdbx (many thanks to Pierre Willard and Po
Cheung for their respective work). To build mxgdb you will need Motif
v (>=) 1.1 and X11R (>=) 4.

Version 1.2.1 is intended to fix a few bugs in functionality and
portability. The Xtty feature will now work on systems using Streams
pseudo-tty's such as SunOS, Solaris and System V. Thanks to Grant
McDorman ( for his fixes on this. Changes to
separate SYSV and SYSR4 for easier portability were given by Kimmo
Suominen <>. Support for editres was given by Dennis
O'Neill ( Thomas Eriksson
<> pointed out that some pty's are never
used on systems with many pty's.

Version 1.2.1 will not work with gdb 4.7 and on as is. For
gdb 4.7 (and perhaps several older versions) you will need to apply
the patch gdb-4.7.diff to modify gdb's approach to the use of the
TIOCSPGRP ioctl on pseudo devices. Otherwise you'll keep getting
warnings that gdb cannot perform the ioctl correctly. I'm going to
post this to the gdb newsgroup in hopes that it may change.
This problem seems to be present in gdb-4.11 but requires a
different patch, gdb-4.11.diff.

This version of mxgdb may still work with older version of gdb 4.x.
It no longer works with gdb 3.x. You will need version 1.1.4 to use it
with gdb 3.x.

Known Major Bugs
There are two major (non-portability related) bugs which this release
could not address due to time constraints. Firstly, choosing 'Xtty'
from the pulldown menu should restore the original tty for the
inferior process and should kill the xterm. The xterm is removed and
the tty is restored but for some reason the process no longer runs as
it should. Creating a second Xtty allows the process to run again.

On some implementations of Motif, pulling down a menu causes the
dialogWindow widget to no longer respond to keyboard events. Mouse
events are responded to as before.

Build notes:
To build on SCO Unix or Bull DPX/ProStation 25 add -DSYSV.

To build on Bull DPX/2-[23]00 add -DSYSV.

To build on ISC UNIX System V.3 add -DSYSV. Configurations which don't
define _POSIX_SOURCE must do so.

To build on SunOS add nothing.. but, you will also need to use native 'cc'
or 'gcc -traditional' as your C compiler in building callgdb.c. This file
depends on ANSI headers using standard gcc.
To build on SVR4 add -DSYSV and -DSTR_PTY.
(thanks to David Wexelblat for fixing and testing this -

To build on Solaris 2.x add -DSYSV -DSVR4 and -DSTR_PTY and set the
LOCAL_LIBRARIES in the Imakefile as:
  LOCAL_LIBRARIES=-lXm -lXt -lX11 -lsocket -lnsl -lgen
and comment out MALLOCO and MALLOCC definitions. Roger Sinnhuber
<> has also reported that he needed -lucb -lelf
to successfully build. I'm hoping someone with Solaris experience can
clarify this.

To build on BSD add nothing and cross your fingers.

To build on Ultrix add nothing (its BSD).

To build on SystemV.3 add -DSYSV and cross your fingers.

To build on AIX add nothing (thanks to Paul Rensing,
RENSING@SLAC.Stanford.EDU) Problems have been reported in getting the
regex library to port porperly on this target. In addition, one should
always use gcc to build mxgdb on this target (it has been tested with
gcc v2.5.8).
To build on MIPS RISC/OS or Bull BOS/RISC use the bsd43 systype (which is the
default imake) and add -DSYSV_SETPGRP.

To build on SGI IRIX 4.0 add -DSYSV -signed -DGETS_PROBLEM
-DIRIX4_PTY. To build under IRIX 3.3 or to avoid _getpty under 4.0 add
-DSYSV -signed -DGETS_PROBLEM -DPTC_PTY. You must edit the Imakefile
and uncomment the appropriate sections so that your 'xmkmf' or 'imake'
will work. You may need to create a Makefile with the command:
	imake -DUseInstalled -DBuildMotif -I/usr/lib/X11/config
(thanks to Kevin Dalley for the SGI changes -

To build on HPUX set the CCOPTIONS to -DHAVE_TERMIO and set the
LOCAL_LIBRARIES in the Imakefile as:
  LOCAL_LIBRARIES=-lXm -lXt -lX11 -lPW -lV3
Also  do not use malloc.c by setting MALLOCC and MALLOCO to nothing.
(thanks to (Neal Becker) and several others).

Pty support

Mxgdb now supports both /dev/ptmx (STREAMS/SVR4), /dev/ptc and IRIX
4.0 based pseudo-tty's.  If you are using /dev/ptmx add -DSTR_PTY.  If
you are using /dev/ptc add -DPTC_PTY. If you are using Irix 4.0 or
later add -DIRIX4_PTY.

Xtty support

Mxgdb now allows you to invoke slave xterms to host your character
based debugging applications. This utilitzes the gdb "tty" command and
the xterm "-S" option. You will need the xterm program
(/usr/bin/X11/xterm) to use this option. It is accessible through the
"Xtty..." menu option. This feature is still full of bugs and will
probably not work for many systems. It has been tested on Bull DPX/2's,
SCO Unix and SunOS 4.1 only. Alot of work needs to go into this before it
becomes stable. This feature cannot yet be used with STR_PTY, PTC_PTY

Malloc by GNU

GNU malloc is supplied with mxgdb to help improve speed. You may need
to add flags in order to build malloc.o. If you do not wish to use GNU
malloc or if you have trouble building gnu malloc, remove the malloc.c
and malloc.o entries in the Imakefile.

Reporting Errors

I would appreciate if any bug reports include a description of the
problem and the output from 'mxgdb -debug'. This output displays the
dialog between mxgdb and the gdb process. '-debug' is only supported
if you build using the -DDEBUG flag. Also please include the versions
of both mxgdb and gdb which you are using.

Copyright info

Mxgdb contains source supplied by the Free Software Foundation. Read
the first few pages of regex.h to see how this affects applicable
copyrights and warranties.

Mxgdb is successfully running on a variety of systems. If you get it
working on a system not listed here. Let me know so I can include it
on the list and add the compilation options.



My email address is: