1 :Info: analyze_multics: azm: 2021-09-20  analyze_multics, azm
  2 
  3 Syntax as a command:  azm {-control_args}
  4 
  5 
  6 Function: invokes a subsystem that aids in system crash analysis.  It
  7 can analyze dumps created by the BCE dump command and copied into the
  8 Multics hierarchy by the copy_dump command.  It can also analyze
  9 processes saved by the answering service after a fatal process error
 10 and copied by the copy_deadproc command.
 11 
 12 
 13 Control arguments:
 14 -abbrev, -ab
 15    enables abbreviation expansion of request lines.
 16 -no_abbrev, -nab
 17    does not enable abbreviation expansion of request lines.  (Default)
 18 -no_prompt
 19    suppresses the prompt for request lines in the request loop.
 20 -no_start_up, -nsu
 21    does not execute any startup exec_com.  (Default)
 22 -profile PATH, -pf PATH
 23    specifies the pathname of the profile to use for abbreviation
 24    expansion.  The suffix "profile" is added if necessary.  This
 25    control argument implies -abbrev.
 26 
 27 
 28 -prompt STR
 29    sets the request loop prompt to STR.  The default is the ioa_ STR:
 30       ^/azm^[ (^d)^]:^2x
 31 -request STR, -rq STR
 32    executes STR as an azm request line before entering the request
 33    loop.
 34 -start_up, -su
 35    executes the exec_com "start_up.azmec" upon invocation of azm.  This
 36    start_up exec_com is first searched for in your home directory, then
 37    in your project directory (>udd>Project_id), and last in >site.  The
 38    first exec_com found is used.
 39 -quit
 40    exits azm after execution of other arguments.  It can be used with
 41    -request.
 42 
 43 
 44 List of requests:
 45 absolute_address virtual-addr, absadr virtual-addr
 46    translates a "virtual address" to an absolute memory address.
 47 add_request_table path, arqt path
 48    adds a user-defined request table in the list of request tables
 49    being searched by the current azm invocation.
 50 apply virtual-addr {range} command_line,
 51 ap virtual-addr {range} command_line
 52    extracts all or part of a segment specified by virtual-addr from
 53    the selected dump and places a copy in a temporary segment.  This
 54    pathname is passed as the last argument in the command_line.
 55 
 56 
 57 apte {proc_indicator} {-control_args}
 58    displays active page table entry (APTE) information for processes in
 59    a dump whose states match the states specified.  Control arguments
 60    are -all, -blocked, -count, -current, -page_tbl_lock, -ready, -run,
 61    -stopped, and -wait.
 62 associative_memory {-control_args}, am {-control_args}
 63    displays SDW and/or PTW associative memories.  Control arguments
 64    are -all, -dump, -pageno, -prds, -ptw, -sdw, and -segno.
 65 aste segno/segname {-control_args}
 66    displays active segment table (AST), page table, and trailer
 67    information.  The default displays active segment table entry
 68    (ASTE) and page table information only.  Control arguments are
 69    -aste, -at, -brief, -long, -page_table, and -trailer.
 70 
 71 
 72 configuration_deck, {card_names} {-control_args},
 73 cd {card_names} {-control_args}
 74    displays the contents of the configuration deck in the selected
 75    dump.  This request works exactly like the standard pcd command,
 76    except that it gets the configuration deck from the dump.  Control
 77    arguments are -brief, -exclude, -long, and -match.
 78 display virtual-addr {exp} {range} {-control_args},
 79 d virtual-addr {exp} {range} {-control_args}
 80    displays a selected portion of a segment in a dump or a saved
 81    process.  Control arguments are -as, -character, -instruction,
 82    -long, -octal, -ptr, -pptr, -pptrx, and -ptrx.
 83 
 84 
 85 display_absolute abs-addr {range} {-control_args},
 86 da abs-addr {range} {-control_args}
 87    dumps an absolute memory address space in the dump.  Control
 88    arguments are -character, -instruction, -octal, -ptr, -pptr,
 89    -pptrx, and -ptrx.
 90 events {-control_args}, ev {-control_args}
 91    displays significant events, in reverse chronological order, from a
 92    dump.  Control arguments are -last, -long, and -time.
 93 history_regs {hregs_specifier} {-control_args},
 94 hregs {hregs_specifier} {-control_args}
 95    displays a composite analysis or octal dump of the processor
 96    history registers.  The hregs specifiers are -condition, -dump,
 97    -pds, and virtual-adr.  The control arguments are -au -cu, -du,
 98    -ou, -interpret, -octal, -no_thread,  and thread.
 99 
100 
101 list_dumps {path} {-control_args},
102 lsd {path} {-control_args}
103    lists the dumps and/or the dead processes in the selected dump
104    directory.  Control arguments are -deadproc and -fdump.
105 list_processes {proc_indicator} {-control_args},
106 lsp {proc_indicator} {-control_args}
107    lists all known processes in the selected dump.  Control arguments
108    are -all, -blocked, -count, -curent, -page_tbl_lock, -ready, -run
109    -stopped, and -wait.
110 
111 
112 machine_conditions {mc_specifier} {-control_args},
113 mc {mc_specifier} {-control_args}
114    displays all or parts of machine conditions based on the given
115    pointer.  The mc specifiers are -dump, -pds, -prds, and
116    virtual-addr.  The control arguments are -eis, -faults, -long,
117    -mc_err, -misc, -octal, ponters, -ppr, -registers -scu, -time, and
118    -tpr.
119 page_trace {-control_args},
120 pgt {-control_args}
121    displays the contents of the page trace table in the current
122    process data segment (PDS).  Control arguments are -all and -last.
123 replace segno/segname path,
124 rp segno/segname path
125    replaces the segment designated by segno/segname in the current
126    translation table with another segment designated by path.
127 
128 
129 scus
130    prints the memory address space (in octal) of each SCU from the
131    registers saved in the dump.
132 sdw
133    displays the SDWs in the current process' DSEG.
134 search virtual-addr {range} search_string,
135 srh virtual-addr {range} search_string
136    searches a segment starting at virtual-addr matching on
137    search_string.
138 segment_name arguments,
139 name arguments
140    prints the segment name, giving either a virtual address or a
141    segment number.
142 
143 
144 segment_number arguments,
145 number arguments
146    prints the segment number, giving either a virtual address or a
147    segment name.
148 select_deadproc {name}, sldp {name}
149    selects and translates a dead process that has been copied into
150    the Multics hierarchy by the copy_deadproc tool.
151 select_dump {name} {-control_args},
152 sld {name} {-control_args}
153    selects and translates a dump of a system crash.  Control arguments
154    are -first, -last, -next, and -previous.
155 select_process {proc_indicator} {-control_args},
156 slp {proc_indicator} {-control_args}
157    selects a process for examination.  Control arguments are -brief,
158    -cpu, -dbr, and -long.
159 
160 
161 set ptr_n virtual-addr
162    sets an internal temporary pointer like a CPU pointer register
163    (i.e., "pr6" or "sp").
164 stack virtual-addr {-control_args},
165 sk virtual-addr {-control_args}
166    traces a given stack.  Control arguments are -arguments, -for,
167    -force, -forward, and -long.
168 syserr_log {-control_args},
169 slog {-control_args}
170    displays all or parts of the syserr_log and syserr_data segments
171    from the dump.  Control arguments are -action, -exclude, -expand,
172    -last, and -match.
173 
174 
175 traffic_control_queue {-control_args},
176 tcq {-control_args}
177    displays process DBR, process state, process ID, current CPU, and
178    user ID from the traffic controller's eligible queue, as well as
179    the "process number" in the dump.  Control arguments are -all and
180    -ready.
181 value ptr_ni...ptr_nn, v ptr_ni...ptr_nn,
182 value -all, v -all
183    displays the current value of one or all the temporary pointers.
184 
185 
186 verify_associative_memory {-control_args},
187 vfam {-control_args}
188    performs a consistency check on the associative memories stored at
189    the time of a dump by comparing them to the appropriate entries in
190    the "dump dseg" and page tables.  Control arguments are -ptw and
191    -sdw.
192 why
193    tries to find the stack that has a call to syserr_real$syserr_real
194    or call_bos$call_bos and sets the temporary pointers pr6 and prfr
195    to the stack frame.
196 
197 
198 List of active requests:
199 [display virtual-addr {exp} {range} {-control_args}],
200 [d virtual-addr {exp} {range} {-control_args}]
201    returns a selected portion of a segment in a dump or a saved
202    process.  Control arguments are -as, -character, -instruction,
203    -long, -octal, -ptr, -pptr, -pptrx, and -ptrx.
204 [display_absolute abs-addr {range} {-control_args}],
205 [da abs-addr {range} {-control_args}]
206    returns an absolute memory address space in the dump.  Control
207    arguments are -character, -instruction, -octal, -ptr, -pptr,
208    -pptrx, and -ptrx.
209 
210 
211 [list_processes {proc_indicator} {-control_args}],
212 [lsp {proc_indicator} {-control_args}]
213    returns the process_ids meeting the control argument criteria,
214    otherwise it returns a null string.  Control arguments are -all,
215    -blocked, -count, -curent, -page_tbl_lock, -ready, -run -stopped,
216    and -wait.
217 [search virtual-addr {range} search_string],
218 [srh virtual-addr {range} search_string]
219    returns the virtual addresses matching the criteria specified.
220 [segment_name arguments],
221 [name arguments]
222    returns the segment number, giving either a virtual address or a
223    segment name.
224 
225 
226 [segment_number arguments],
227 [number arguments]
228    returns the segment number, giving either a virtual address or a
229    segment name.
230 [verify_associative_memory {-control_args}],
231 [vfam {-control_args}]
232    returns true if any inconsistencies are found, false otherwise.
233 
234 
235 :hcom:
236 
237 
238 
239 /****^  HISTORY COMMENTS:
240   1) change(2021-09-20,GDixon), approve(2021-11-09,MCR10098),
241      audit(2021-11-09,Swenson), install(2021-11-09,MR12.8-1008):
242       A) Change section titles from "List of operations" to "List of
243          requests"; and from "List of active function operations" to "List of
244          active requests".
245                                                    END HISTORY COMMENTS */
246 
247 
248