* WHERE-IS library doc * Gather keyboard files, add VIRTUAL.TEDIT * add UNIXCOMM.TEDIT * rest of TEdit library files * save table of contents index for reworking * Don't move around VIRTUALKEYBOARDS files; will move in separate commit * Add MATMULT from Envos/Medley
47 lines
32 KiB
Plaintext
47 lines
32 KiB
Plaintext
1
|
||
|
||
Lisp Library Modules, Medley Release 1.15, TELERAID
|
||
1
|
||
|
||
Lisp Library Modules, Medley Release 1.15, TELERAID
|
||
TELERAID
|
||
1
|
||
|
||
TELERAID
|
||
1
|
||
|
||
|
||
TELERAID
|
||
6
|
||
|
||
TeleRaid(TELERAID NIL TeleRaid NIL NIL 279) is an interactive debugger(DEBUGGER NIL debugger NIL NIL 279) which can be used either to examine, from one workstation, the state of another workstation's virtual memory(VIRTUAL% MEMORY NIL virtual% memory NIL NIL 279), or to look inside a sysout file.
|
||
Requirements
|
||
1
|
||
|
||
REMOTEVMEM, READSYS, RDSYS, VMEM
|
||
Either:
|
||
Ethernet PUP connection between the two machines. The machine which is to be examined must be in the TeleRaid mode; i.e., the shape of its cursor must be the TeleRaid prompt. It must also have a PUP address.
|
||
Or:
|
||
A sysout file.
|
||
Installation
|
||
1
|
||
|
||
Load TELERAID.LCOM and the required .LCOM modules from the library.
|
||
User Interface
|
||
1
|
||
|
||
The standard use of TeleRaid is to debug a workstation that has stopped at a maintenance panel halt(MAINTENANCE% PANEL% HALT NIL maintenance% panel% halt NIL NIL 279). Pressing the UNDO key when the machine is in this state transfers control to a small TeleRaid server that responds to simple commands over the network. While the TeleRaid server is running, the cursor changes to TELERAID. Also, on a 1108 workstation, the previous contents of the maintenance panel are restored.
|
||
On a 1108 workstation, the maintenance panel halt condition is indicated by a four-digit code that begins with a 9. On an 1186, the four-digit code is displayed at the cursor.
|
||
The term "debuggee(DEBUGGEE NIL debuggee NIL NIL 279)" is used to denote the sysout file or machine running the TeleRaid server, i.e., the one being debugged, while "debugger(DEBUGGER NIL debugger NIL NIL 279)" refers to the machine that is viewing the debuggee's virtual memory (usually by running TeleRaid).
|
||
Function
|
||
1
|
||
|
||
(TELERAID(TELERAID (function) NIL NIL NIL 280) HOST RAIDIX) [Function]
|
||
Enters an interactive debugger viewing the virtual memory of HOST, which must denote a machine running a TeleRaid server. HOST is either a host name or a PUP address.
|
||
RAIDIX is an optional number denoting the radix in which values are printed and numbers are accepted as input; if not specified, it defaults to 8 (octal). The only other accepted value for RAIDIX at present is 16, for hexadecimal input and output.
|
||
If you don't know a machine's PUP name or address, you can find out by typing control-P(CONTROL-P (command) control-P NIL NIL 280) on the debuggee: control-P changes the maintenance panel to show the machine's PUP host number in decimal radix. You can also find out your PUP address when Lisp is running (rather than in a maintenance panel halt) by evaluating (PORTSTRING(PORTSTRING (function) NIL NIL NIL 280) (ETHERHOSTNUMBER(ETHERHOSTNUMBER (variable) NIL NIL NIL 280))). Users typically do this once and tape a note to the terminal so as to have this information handy.
|
||
If the debugger is on the same physical Ethernet as the debuggee, you can use that PUP host number directly as the HOST argument. Otherwise, you must convert the PUP host number to octal and use the general form of a PUP address, which is a string of the form "net#host#".
|
||
For example, (TELERAID 12) debugs the machine whose PUP address is 12 decimal on the same network. (TELERAID "13#14#") debugs host 14 octal (12 decimal) on network 13 octal.
|
||
Note: If the control-P command displays zero in the maintenance panel, it means the machine does not have a PUP host number assigned, or the halt occurred so quickly after booting that the Ethernet has not been fully initialized. In this case, TeleRaid cannot be used. See the description of READSYS (below) for directions on TeleRaiding a sysout file.
|
||
TeleRaid Commands(TELERAID% COMMANDS NIL TeleRaid% Commands NIL NIL 280)
|
||
1
|
||
|
||
Each TeleRaid command is a single character, followed by arguments appropriate to the command. In the description of the commands that follows, unless otherwise specified, numbers are assumed to be typed in the default radix (octal unless you have specified a different RAIDIX in the call to TELERAID).
|
||
Displaying a Stack(DISPLAYING% A% STACK NIL Displaying% a% Stack NIL NIL 280)
|
||
For casual users, the L command followed by several F commands generally provide the most useful information. Many of the other commands require some knowledge of the internal representation of Lisp objects and stack frames, something that this document does not attempt to provide.
|
||
L Shows the stack(STACK NIL stack NIL NIL 280) of the debuggee, as a back trace consisting of a numbered sequence of frame names. The first frame is usually \MP.ERROR if you got here by a maintenance panel halt.
|
||
In the case of MP code 9305, the stack shown is the page fault handler's and is uninteresting, except for the argument to the \INVALIDADDR frame.
|
||
Use the Control-L P command to see the stack of the process that took the fault.
|
||
Control-L type Shows the stack of the debuggee starting at some other place. The argument type is a single letter denoting which stack to view. The system has a number of special contexts, which are areas of stack space used by certain system routines.
|
||
Legal values of type are P (page fault), G (garbage collector), K (keyboard handler), H (hard return), S (stack manipulator), R (reset), and M (miscellaneous).
|
||
The most interesting of these for most users is P, which for MP code 9305 shows the stack in which the address fault occurred. In addition, type F lets you view the stack starting at an arbitrary stack frame; <20><> |