03/26/85 mc_trace, mct Syntax as a command: mct path {-control_args} Function: gives a snapshot of machine conditions and history registers (resulting from hardware faults and interrupts) incurred while executing another Multics command or subroutine. Arguments: path is the absolute or relative pathname of the segment that is to be traced. Control arguments: -all captures machine conditions and history registers for every fault and interrupt that occurs in your process. This control argument cannot be used with -hc or the path argument. -brief, -bf suppresses printing the "-->" prompt. -buffer N, -buf N sets the machine condition trace buffer size to N, where N is a decimal integer value from 1 to 16, and represents the buffer size in units of 1024 words (1K). The default buffer size is 5K words. -hc SEG captures machine conditions and history registers for faults and interrupts that occur in the hardcore segment SEG while your process is in execution. SEG can be a hardcore segment name or number. This control argument cannot be used with -all or the path argument. Notes: This command initiates the segment specified by the path argument, and creates the machine condition trace buffer in your process directory. The number of machine conditions and history register sets that can be stored is directly related to the size of the trace buffer. There is an approximate 8 to 1 ratio of machine conditions to history registers (e.g., in a 5K buffer there would be storage for 79 sets of machine conditions and 10 sets of history registers, allowing room for a trace buffer header). The trace buffer is temporarily "wired" (i.e., the segment remains in main storage and is not subject to removal by the dynamic paging mechanism). The hardcore snapshot or trace mechanism is then enabled and mc_trace goes into a request loop after printing "-->" as your prompt on the error_output switch. The valid user reponses while in this request loop are as follows: . prints out the command name "mc_trace" on the user_output switch. .q turns the hardcore snapshot mechanism off, unwires the machine condition buffer, and returns to Multics command level. calls the Multics command processor and executes as a Multics command (e.g., ..who). .rpt n calls the Multics command processor to loop n times, executing the specified Multics command ; n is an integer from 1 to 99999999 (e.g., .rpt 10 who). .pmc m n displays machine conditions in octal starting with machine condition set m for n sets. The integer m therefore represents a negative index from the last set of machine conditions stored (e.g., the request ".pmc 8 2" would be interpreted to mean, "display two sets of machine conditions starting from the last machine conditions stored at position 8"). If n is not specified, then all machine conditions starting at m to the last machine conditions stored are displayed. If neither m nor n are specified, all sets of machine conditions are displayed. .pmci m n same as .pmc above except that the machine conditions are displayed in interpreted format. .pscu m n same as .pmc above except that only the System Control Unit (SCU) data for the specified number of machine conditions is printed, displayed in interpreted format. .hr m n displays history registers in octal, starting with history register set m for n sets. The variables m and n are defined as in .pmc above. .hrou m n same as .hr above except that only the Operations Unit (OU) history register is displayed in octal. .hrcu m n same as .hr above except that only the Control Unit (CU) history registers are displayed in octal. .hrdu m n same as .hr above except that only the Decimal Unit (DU) history registers are displayed in octal. .hrau m n same as .hr above except that only the Appending Unit (AU) history registers are displayed in octal. .hranl m n same as .hr above except that the specified number of history registers are displayed in interpreted format. .hrlgd produces a list of abbreviations used with the .hranl request above. The mc_trace command invokes a condition handler for the "any_other" condition. When any unusual system condition is encountered, a message indicating the condition that was raised is displayed on the error_output I/O switch, and control is passed to the request loop. At this time, any of the valid requests described above can be entered. For further information on system conditions, refer to the Multics Programmer's Reference Manual, Order No. AG91). Access required: To use mc_trace, you must have re access to phcs_. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved