Remote RAID Interlisp-D has facilities for looking at sysout files and machines across the network. This is a rudimentary documentation of how to do it. The procedure rests on the notion of a "remote" virtual memory. points the package at a remote virtual memory, and then one can execute various functions which work in V-space rather than normal space. In this document, the term 'debugger' is used to denote the system that is doing the looking, while 'debuggee' is the system you are looking at. (TELERAID HOST RAIDIX) will put you into an interactive 'Raid' debugger. This is a replacement for the 'Raid' system that runs in BCPL on 1100s and 1132s. You use it for looking at another host on the ethernet/internet. You call TELERAID on the debugger machine. The other machine (the debuggee) must be in TeleRaid mode. You get into this by typing R to Raid on 1100s and 1132s. You get into Teleraid on 1108s by pressing the "Undo" key when the machine is halted at a maintenance panel halt. HOST is either a host name or a pup address, e.g. (TELERAID '3#23#) Inside Teleraid, there are a number of low level debugging commands: U show remote screen: this will show you what's on the debuggee's screen L shows the stack of the debuggee. control-L shows the stack starting at a given stack address -- if followed by a 'small number' < 14, it will give you the stack of the corresponding 'hard' context. K default is for L and control-L to chase CLinks. K toggles an internal switch to cause it to chase ALinks instead. After giving one of these commands, you can look at individual frames: F <number> will print out that frame line-feed (= Same) will show the 'next' frame up ↑ will show the previous frame ↑F and ↑X take stack relative addresses in the default radix and print out the corresponding frame W will 'walk' thru the entire system stack showing the stack frame type D show the definition for an atom A show the value of an atom P show the property list of an atom C print out the code definition for an atom V given a 'hiloc' 'loloc' pair, will interpret it as a pointer B given a 'hiloc', 'loloc', 'count', print the contents of memory control-Y will put you into a Lisp executive under Teleraid. For those interested in microsurgery, you can actually patch the remote system, by using "←". ========== ============== Actually, teleraid is implemented in two parts: READSYS, which 'reads' a remote system, and VRAID. You can look at a sysout or LISP.VIRTUALMEM by performing (READSYS filename writable) and then (VRAID RAIDIX). You can also call directly some of the VRAID functions: (VGETVAL variable) (VBROKENDEF fn) cause RAID calls to be inserted into FN, i.e., FN will subsequently go into RAID before returning. This is only useful for very very low-level debugging. (VGETPROPLIST atom) In general, this is not a facility for the casual user. System implementors use it when running into really deep problems with the lisp enviornment.