DIRECTORY BootFile USING[ Location], PrincOps USING[ ControlLink, Frame, NullLink, PageNumber, PsbIndex ], RuntimeError USING [UCSProc]; DebuggerSwap: DEFINITIONS = BEGIN Initialize: PROCEDURE; StartSwatWatcher: SAFE PROCEDURE[enabled: BOOL]; EnableSwatWatcher: SAFE PROCEDURE[enabled: BOOL]; NoteDiskDebugger: PROC[debugger, debuggee: BootFile.Location]; NoteLoadstate: PROC[PrincOps.PageNumber]; NoteVMRunTable: PROC[LONG POINTER]; Catcher: RuntimeError.UCSProc; teledebug: BOOL; WorryCallDebugger: READONLY SAFE PROCEDURE[STRING]; CallDebugger: SAFE PROCEDURE[STRING]; LocalLink: PROC[given: PrincOps.ControlLink, psbi: PrincOps.PsbIndex] RETURNS[link: PrincOps.ControlLink] = INLINE BEGIN IF (link _ given) = [frame[freezer]] AND freezer # NIL THEN IF (link _ freezeesTable[psbi]) = PrincOps.NullLink -- not really frozen! -- THEN link _ given; END; Frozen: TYPE = ARRAY PrincOps.PsbIndex OF PrincOps.ControlLink; freezeesTable: PRIVATE READONLY Frozen; freezer: PRIVATE READONLY POINTER TO local PrincOps.Frame; END. PCedar Nucleus: Interface with worldswap or tele- debugger. DebuggerSwap.mesa Andrew Birrell July 8, 1983 1:34 pm Last Edited by: Levin, June 14, 1983 4:52 pm 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 VM backing storage data structure location for the debugger 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. ʘJšœ:™:Jšœ™Jšœ$™$J™,JšÏk ˜ Jšœ œ ˜Jšœ œ7˜EJšœ œ ˜J˜Jšœ œ˜J˜Jš˜J˜šÏn œ œ˜Jšœ™—J˜šžœœ œ œ˜0Jšœ\™\—J˜šžœœ œ œ˜1Jšœ#™#—J˜šžœœ(˜>Jšœ=™=—J™šÐbn œœ˜)J™@—J™šŸœœœœ˜#J™IJ™—šÏbœ˜Jšœ;™;—J™šœ œ˜Jšœ?™?—J˜Jš žœœœ œœ˜3J˜Jšž œœ œœ˜%J˜šž œœ7œ˜rJšœÎ™ÎJš˜Jšœ#œ ˜6šœœ2Ïc˜QJšœ˜—Jšœ˜Jšœœœœ˜?J˜Jšœœœ˜'J˜Jš œ œœœœ˜:—J˜Jšœ˜J˜—…— y