DIRECTORY BootFile USING [Location], PrincOps USING [ControlLink, Frame, NullLink, PageNumber, PsbIndex], RuntimeError USING [UCSProc]; DebuggerSwap: DEFINITIONS = BEGIN Initialize: PROC; StartSwatWatcher: SAFE PROC[enabled: BOOL]; EnableSwatWatcher: SAFE PROC[enabled: BOOL]; NoteDiskDebugger: PROC[debugger, debuggee: BootFile.Location]; NoteLoadstate: PROC[PrincOps.PageNumber]; NoteRealLoadState: PROC[LONG POINTER]; NoteVMRunTable: PROC[LONG POINTER]; NoteSystemVolume: PROC[VolumeID]; VolumeID: TYPE[5]; NoteDisplay: PROC[bitmap: LONG POINTER, w, h: CARDINAL]; Catcher: RuntimeError.UCSProc; teledebug: BOOL; WorryCallDebugger: READONLY SAFE PROC[STRING]; CallDebugger: SAFE PROC[STRING]; LocalLink: PROC[given: PrincOps.ControlLink, psbi: PrincOps.PsbIndex] RETURNS[link: PrincOps.ControlLink] = INLINE { IF (link _ given) = [frame[freezer]] AND freezer # NIL THEN IF (link _ freezeesTable[psbi]) = PrincOps.NullLink -- not really frozen! -- THEN link _ given; }; Frozen: TYPE = ARRAY PrincOps.PsbIndex OF PrincOps.ControlLink; freezeesTable: PRIVATE READONLY Frozen; freezer: PRIVATE READONLY POINTER TO local PrincOps.Frame; END. pDebuggerSwap.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Andrew Birrell July 8, 1983 1:34 pm Levin, June 14, 1983 4:52 pm Russ Atkinson (RRA) January 30, 1985 6:54:34 pm PST Doug Wyatt, February 22, 1985 5:55:33 pm PST Interface with worldswap debugger or teledebugger. Enable debugging. Must have FORK working before calling this. Swat watcher is initially enabled iff "enable". Enable or disable the swat watcher. Informs world-swap of presence of usable outload/inload files Remembers the loadstate data structure location for the debugger Remembers the real loadstate data structure location for the debugger Remembers the VM backing storage data structure location for the debugger Remembers the system volume Remembers the size, shape, and location of the display The default uncuaght signal handler, for use by SignalsImpl TRUE => use teledebugger even if we have a world-swap debugger. Returns the control link that would exist if there were no frozen processes. Assumes psbi is the process on whose stack the given link occurred. If called from resident code this procedure will not fault. ΚŽ˜codešœ™Kšœ Οmœ1™Kšœ=™=—K™šΠbn œžœ˜)K™@—K™šŸœžœžœžœ˜&K™E—K˜š œžœžœžœ˜#K™IK™—šŸœžœ ˜!K™—K˜Kšœ žœ˜K˜š Ÿ œžœ žœžœžœ˜8K™6—K˜šΟbœ˜Kšœ;™;—K™šœ žœ˜Kšœ?™?—K˜Kš Ÿœžœžœžœžœ˜.K˜KšŸ œžœžœžœ˜ K˜šŸ œžœ8žœžœ˜uKšœΞ™ΞKšžœ#žœ ž˜6šžœžœ2Οc˜QKšžœ˜—Kšœ˜—K˜Kšœžœžœžœ˜?K˜Kšœžœžœ˜'K˜Kš œ žœžœžœžœ˜:K˜Kšžœ˜—…—† „