Ups is a X based source level debugger for the C, C++ and Fortran programming languages. It supports both run time debugging with breakpoints and post-mortem debugging from a core file. On Suns you can attach ups to a running process. Ups runs in its own window, thus not interfering with the target program's I/O. The ups window has two major areas - one showing a structured document representing the target state, the other showing the source that is being executed. Ups makes heavy use of direct manipulation and feedback. When you add a breakpoint it is shown as a pseudo C statement (#stop) in the source display. The current point of execution is highlighted in the source display and you can watch it move as you step through loops and function calls. You can edit in fragments of interpreted C code (including assignments to variables and calls to target functions). There are powerful facilities for exploring linked data structures - you can recursively expand and collapse structures to follow links. WWW: http://ups.sourceforge.net/