[comp.sys.sun] Submission for sun-spots/comp.sys.sun

mtr@ukc.ac.uk (06/05/91)

This is a (long) announcement of a new release of the ups debugger.
Feel free to trim it if you want.

Mark Russell

--- cut here ---
Subject: New version (2.31) of the ups debugger available

Version 2.31 of the ups debugger is now available at an FTP site
near you.  This release fixes various bugs in 2.28, the most important
being that ups did not run under Ultrix 4.1 on the DECstation and that
it failed to work with SunOS XView applications.  It also fixes
a serious bug with floating point in version 2.30.

This (long) article describes what ups is and how to obtain it.


SUMMARY
-------

   + Version 2.31 of ups is now available by anonymous FTP.

   + Changes from 2.28: it works under Ultrix 4.1 and with XView
     applications, plus various other bug fixes.

   + Changes from 2.30: bug in display of double variables fixed,
     plus a few other bug fixes.

   + Unless there are serious bugs this will be the last release
     for a while.

   + There are new FTP sites for people in Europe and the UK, as
     well as ways to obtain ups for those without FTP access.

   + There is a mailing list ups-users@ukc.ac.uk for bug reports
     and new release announcements.  Send add/delete requests
     to ups-users-request@ukc.ac.uk.  Future bug fix releases of
     ups will be announced on the mailing list only, to avoid
     cluttering the newsgroups.


WHAT IS UPS?
------------

Ups is a source level C debugger that runs under X11 or SunView on
Suns (SPARC, Sun 3 and 386i) and under X11 on DECstations and VAXen
running Ultrix (see below for details of supported configurations).

Ups runs in a window with two major regions: one showing the
current state of the target program data and the other showing
the currently executing source code.  A key feature of ups is
that the variables display is persistent: when you add a variable
to the display it stays there as you step through the code.  The
current stack trace (which function called which) is always visible.

Ups includes a C interpreter which allows you to add fragments
of code simply by editing them into the source window (the source
file itself is not modified).  This lets you add debugging printf
calls without recompiling, relinking (or even restarting) the
target program.  You can also add conditional breakpoints in a
natural way - you just add a statement like "if (i == 73) #stop"
at the appropriate place in the source window.

Some things you can do with ups:

   + Add variables to the display by simply clicking on them
     in the source window.

   + Expand (recursively) structures and unions to show their
     members.

   + Assign to variables by editing the displayed value.

   + Add breakpoints by pointing with the mouse at the line
     where you want execution to stop.

   + Add interpreted code at any breakpoint, including code that
     calls compiled functions and assigns to variables.

It's hard to describe an interactive application in a few paragraphs of
text - the best way to see what ups is like is to grab a copy and try it.
There's a walkthrough debugging session in the manual page: if you work
through this and are not hooked at the end of it then I'll give you
your money back :-)


HOW UPS DIFFERS FROM XXGDB, XDBX AND DBXTOOL