File name 19781013_Specifics_For_Debugger_Interface.pdfInter-Office Memorandum
To Mesa Implementors Date October 13, 1978
From Barbara Koalkin Location Palo Alto
Subject Specifics for Debugger Interface Organization SDD/SD
XEROX
Filed on: [IRIS] 05 >DUI2.BRAVO DRAFT
This memo is the specification for a new user interface for the Mesa 5.0 debugger; it has been
drawn together from suggestions from the Mesa task list, Greg Shaw's suggestion list (based on the
experience of ETM), the change requests classified as debugger wishes, experiments with the Tools
Environment and the SmallTalk Browser, and discussion with experienced Mesa users.
The design is based on the following observations and goals:
* We are aiming for the experienced systems programmer, not a clerical person with minimal
training who will quit in 6 months.
* We must build on the capabilities (and code) of the current Mesa debugger as well as
maintaining the present Mesa style of debugging.
* Speeding up the performance and increasing reliability is as important as improving the
interface.
* We should try to cut down on the edit-compile-debug loop as much as possible.
* Keep it simple.
The basic facilities of the debugger can be divided into the following categories: setting
breakpoints and tracing program execution, examining (and changing) the runtime state, setting the
context in which user symbols are looked up, directing program control, and a collection of less
frequently used low-level utility commands. By supplementing the present teletype command
processor interface to these facilities with more window/selection/menu based capabilities, we can
both speed up and ease the debugging process.
The new debugger interface looks as follows:
* The debugger is initialized with 3 windows: DEBUG.TYPESCRIPT window, a sourcefile
window, and a window for manipulating the stack (DEBUG.STACK).
* Each of these windows has a menu containing the standard set of window operations: MOVE
(change the position of the window), GROW (ch~lIge the size of tile window), BIG (make the window as large
as the entire screen/restore), and SMALL (make the window as mlo 11 small window at the side of the scrccn).
The menu also contains the basic selection operations that arc common to all windows:
STUFF IT (sluffs the selection of the window into the keyboard stream of the DEBUG.TYPESCRIPT
window). FIND (finds the next occurencc of the select |