• Aucun résultat trouvé

POSTMORTEM DUMP PROCESSOR (PMD)

Dans le document System Volume (Page 95-101)

I EPS01/E I EPS02/E I CHll/C I CHI2/C]

Volume 3 System Processors UPOA TE LEVEL

3. Debugging Aids

3.2. POSTMORTEM DUMP PROCESSOR (PMD)

PAGE

3.2. POSTMORTEM DUMP PROCESSOR (PMD)

The Postmortem Dump Processor (PMD) is called by the @PMD control statement. At program termination the final contents of the program's main storage areas are written into the diagnostic file by the system. The information can then be edited and printed by the PMD processor. Postmortem dumps may be taken of

• . overlay segments,

• elements,

• banks, or

• any portion of the terminated program as long as those segments, elements, banks, and/or portions are active when the program terminates.

See Volume 2-3.4.4.4.5 for the description of which program banks are considered active. Within a program bank, a portion of the terminated program is considered active if it is either the main segment or an overlay segment which is loaded as described in 2.2.4.5.1. or 2.2.4.5.2.

3.2. 1.

@

PMD Control Statement

Purpose:

Calls the PMD processor to dump all or specified portions of a program that was in main storage at program termination. Any number of PMD control statements may follow the execution of a program so that different parts of a program's storage area may be dumped in different formats, if desired.

Format:

@PMD,options operand fields Parameters:

options general

special

Applies to all types of PMD control statements. The presence of A, I, or 0 options indicate a format 3 PMD control statement. The absence of operand fields indicates a format 4 PMD control statement.

Applies to format 3 or 4 PMD control statements. PMD control statements without A, I, or 0 options and having operand fields are either format 1 or 2. Format 1 PMD control statements are used to dump all or part of a specific location counter of a specific element.

Format 2 PMD control statements are used to dump areas starting at specified externally defined entry points.

If no parameters are specified in the operand fields, all elements residing in main storage at program termination are dumped in accordance with the specified options.

Format 1:

@ label:PM D ,options eltname/ba nkna me,address/lc,length,format

4144,31

UP-NUMBER

Format 2:

SPERRY UNIVAC 1100 Series Executive

Volume 3 System Processors UPDATE LEVEL

3-3

PAGE

@label:PM[),options epname/bankname,length,format Format 3:

@label:PM[),options part-1,part-2, ... ,part-n where part-n may be of the following forms:

eltname

se~~ment

bankname

eltname/segname eltname/bankname se~~ me nt/bel n k n a me

eltlname/segname/bankname Format 4:

@PMD,options NOTE:

The pre'sence of' an A, /, or D options indicates a format 3 PMD.

options

eltname

epname

segname banknallle

The general options in Table 3-1 apply to any format PMD control statement. All of the special options in Table 3-2 apply to format 3 PMD control statements. On format 4 PMD control statements the following special options may be used: I, D, L, F, G, N, 0, Q, and S.

If more than one of the format options (F, G, N, 0, Q, and S) are used on format 3 or 4 PMD control statements, then each location counter of each element dumped is repeated, once for each type of format requested. If no format options are specified on format 3 or 4 PMD control statements, then octal format is used.

Specifies the element to be dumped. The names of labeled common blocks or BLANK$COMMON may also be used. Common blocks can be considered to have one location counter (location counter zero).

Specifies the entry point name from which the dump is to start. This name must be externally defined and referenced by another element in the program. If any externally defined name is to be referenced in a format 2 PMD, then the user program must be MAPped to produce extended diagnostic tables using the TYPE EXTDIAG directive (see 2.2.2.13).

Specifies the segment to be dumped.

Specifies the bank to be dumped. If used as subfield containing other names, it defines which bank of the multibank program to consider for dumping.

4144.31

SPERRY UNIVAC 1100 Series Executive

Volume 3 System Processors UPDATE lEVEL

3-4

PAGE

Specifies the element, segment or bank to be dumped. For multibank programs with localized elements or segments which span banks, subfields may be used to define the specific portion of the element or segment to be dumped. The subfield names must maintain the same relative sequence (i.e., bank name last, segment name preceding bank name, etc.) although each of the subfields is optional and any type of name can appear in any subfield.

The address, relative to the beginning of the location counter (I c), at which the dump should begin. This field applies only to format 1. If this field is omitted, an address of zero is assumed.

Specifies which location counter of the element to be dumped. If this parameter is omitted, a location counter of zero is assumed.

Specifies the number of words to be dumped. If this parameter is omitted, the word length in the location counter being dumped is assumed.

The single letter which references one of the standard editing formats (see 3.3.1.8.1) to be used. Optionally, a FORTRAN format expression enclosed in parentheses may be defined by the user in this field to be used as the editing format.

Any format statement acceptable to FORTRAN V for output editing may be used, with the exception of one using the R editing code. See 1100 Series FORTRAN V, UP-4060 (current version). In addition, N·

and S may be used as editing codes in format statements for mnemonic and octal instruction formats, respectively. When N is used as an editing code in a FORTRAN format statement, at lease 26 spaces must be provided for each word edited. When S is used as an editing code, at least 21 spaces must be provided for each word edited. Note that the 0 standard format and user-supplied formats are not applicable to changed word dumps. If the parameter is omitted, an octal dump is produced.

The address, location counter and length may be specified in octal or decimal number notation. (Numbers with a leading zero are assumed to be octal.)

Therefore, if unique element names are not used, care must be taken in requesting dumps to ensure that the proper information is obtained. In order to prevent possible conflicts, it is recommended that unique element names be used whenever possible.

4144.31

I

SPERRY UNIVAC 1100 Series Executive 3-5

~~~~

______________ V __ O_I_u_rn_e __

3 __

S_y_s_t_e_rn __ P __ ro_c_e_s_s_o_._rs ______________________

~~U_P_D_AT_E_L_~_E_L

____

~P_AG_E

____ ___

Table 3-1. @PMD Control Statement, General Options

Opti1on Description

Character

C Dumps the words which were changed during the execution or loading of the allocated 'program area of main storage specified in the @PMD control statement.

E Processes @PMD control statement only if the pre,vious routine terminates in error.

M Print only diagnostic dumps that have not been printed. This applies to demand runs only.

P Causes an octal dump of the PCT blocks used by the run to be printed preceding the dump of the program.

Also the segment load tables and any other collector generated table, if any, are dumped in octal.

B Dumps information about a program's banks. Information dumped: bank's name, BDI, base address, bank type, and storage preference.

T Formats the output of PMD so that no print line is longer than 80 characters. This option is intended for

USEI with output devices such as the UNISCOPE 100, but use is not limited to demand runs. When the T option is used on the first PMD control statement following the execution of a program, it also controls the editing of any Dynamic Dumps produced.

W Debug only - Turns on snap dumps in PMD.

Y Debug only - Turns on snap dumps in PMD.

Table 3-2. @PMD Control Statement, Special Options

Option [)escription

Character

A Produces a dump of the specified main storage area of each named element or segment or bank.

o

Produces a dump of the D-bank portion of oach named element, segment or bank. If no names are spEtcified, then all of the D-bank portion of the program is considered for dumping.

Produces a dump of the I-bank portion of each named element. segment or bank. If no names are specified, then all of the I-bank portions of the program is considered for dumping.

L Dumps the active library elements. When the A, I or 0 options are used. the L option is necessary if any of the elements named in the specification fields are system library elements. @PMD.L dumps all active elements including those from the system library.

X US.3d in conjunction with the A, I or 0 options. Dumps all active elements except those named in the control statement and those belonging to the segments named in the control statement.

F Prclduces a dump in Fieldata alphanumeric format (see Table 3-3).

G Pwduces a dump in G format (see Table 3-3).

N PrClduces a dump in mnemonic instruction fOl'mat (see Table 3-3).

4144.31 UP-NUMBER

Option Character

SPERRY UNIVAC 1100 Series Executive Volume 3 System Processors

Table 3-2. @PMD Control Statement, Special Options (continued)

Description

UPDATE LEVEL

3-6

PAGE

0 Produces a dump in octal format. This option is used only when any of the F, G, N, 0, and S options are used. Produces an octal dump in addition to the other formats requested.

0 Produces a dump in ASCII alphanumeric format (see Table 3-3).

S Produces a dump in ASCII octal instruction format (see Table 3-3).

Description:

For the A, I, D, and X options, the names of labeled common blocks or BLANK$COMMON may be used as element names.

5ee Volume 2-3.4.1 for the effect of the @RUN control statement on postmorten dumps.

If no information was saved by the system when the previous execution terminated, no dumps are possible. This condition is caused by an N option on the @RUN control statement. A PMD is not possible for a program if the

Z

option was specified to the Collector on the @ MAP control statement when that program was mapped. If no dump is available, a message is produced.

In demand or batch mode, all control statements are allowed between the normal termination of an

@XaT or processor call and the @PMD request for the @XaT or processor call. Additionally, all control statements will be allowed to intervene between @ PMD requests. If another @XaT or processor call is encountered, it will be honored and DIAG $ will be rewritten when the @XaT or processor call terminates. The above also applies to all types of termination in demand mode.

When in batch mode, if an @XaT or processor call terminates in error, the @PMD control statement will be honored only if it follows the @XaT or processor call. Only data statements, @EOF control statements and the conditional control statements (@SETC, @JUMP, @TEST and @ADD) may intervene. @PMD control statements are not honored for batch runs that terminate in abort mode.

The standard 5YS$*LlB$ version of the PMD processor is never written to DIAG$.

Example:

@XQT data

• •

• •

data

@TEST

@JUMP

@SETC

@PMO,A

@XQT

PROGX

TE/6/S3 3

6/54

ELEMENT1, ELEMENT2 PROGY

If PROGX terminates before processing all of the data statements that follow the first @XaT control statement, and 53 of the condition word has a value of 6,54 of the condition word is set to 6, and the @PMD and @XaT PROGY control statements are processed.

UP-NUMBER

SPERRY UNIVAC 1100 Serie. Executive

Volume 3 System Processors UPDATE LEVEL

3-7

PAGE

4144.31 , - ,

L

_ _ _ _- - L - - - L - - - _

Any @PMD control statement following the execution of a program from SYS$*LlB$ (that is, @FOR,

@COB, @MAP, and so forth) is honored only if the Y option appears on the @RUN statement.

Howev~er, if the W option was specified on the @RUN control statement when in batch mode, any program from SYS$*LlB$ that error terminates will be automatically written to DIAG$ and the PMD proces!)or will automatically be loaded to print the erroring program. The PMD processor is called with P and l options specified.

1. An octal dump of all active (allocated in main storage and loaded) segments of a user's program

re~~ults. Active elements in the program which were from SYS$*RLlB$ are not included in the dump.

5. The result ()f this @PMD control statement is a 56-word dump of location counter 3 of element Al.PHA in the standard alphanumeric editing format. The dump begins with relative address 100 under location counter 3.

6. The dump begins at external entry point TOP in bank CAT. Ten words are dumped in the standard alphanumeric editing format.

7. Dump the I-bank portion of all active elements except those included in the program from the System Library.

8. Dump the I-bank portion of all active elements including those within the program from the System Library. Each location counter of each element is dumped twice: once in octal format, and once in mnemonic instruction format.

9. Dump the D-bank portion of all active elements. Each location counter of each element is dUimped thlree times: once in Fieldata alphanlUmeric format, once in octal format, and once in G format.

10. Dump the I·-bank portion of element BETA in segment SEGA, element GAMMA in SEGB in bank

BJ~NKA, and the I-bank portion of all elements in segment SEGC including those from the System Library. Each location counter of each element dumped is repeated twice: once in octal format, and once in mnemonic instruction format.

4144.31 UP-NUMBER

SPERRY UNIVAC 1100 Serle. executive

Volume 3 System Processors UPDATE LEVEL

3-8

PAGE

11. Dump BLANK COMMON and all portions of element DELTA, BLANK COMMON and each location counter of element DELTA are dumped three times: once in octal format, once in Fieldata alphanumeric format, and once in G format.

Dans le document System Volume (Page 95-101)