Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

CDUMP2 - Generate user, system or area dump

&pagelevel(3)&pagelevel

The three types of dump supported by CDUMP2 differ in the scope of the information offered and in the name and the ID for the dump file output. The following sections outline the most important characteristics of area, user, and system dumps:

Area dump

Scope of the area dump:

  • The areas of the user address space from class 6 memory and class 5 memory which are specified in the CDUMP2 call, provided the output is not prohibited by the system parameter DUMPCL5P.

  • Specially protected pages (“secret pages”, CSTAT PROTECT=YES macro call) are output only in the scope which is specified by the system parameter DUMPSEPA.

  • Other system areas: module AIDSYSD, the area with COMAREA, the TCB and TU-PCB tables (see user dump); in addition - if requested by the MODE=*EXP operand - all other system areas of the user dump.

  • Data spaces (see section “Extended addressing with data spaces”) to which the CDUMP2 caller is connected. The caller uses the data area to determine from which areas data spaces are to be saved.

  • The output can be controlled with /MODIFY-TEST-OPTIONS USERDUMP-OPTIONS=*PARAMETERS(...), see the “commands” manual [19 (Related publications)].

ID for the area dump file:

  • User ID of the task which has called CDUMP2, if the user is authorized to read all the data output in the dump.

  • SYSUSER system ID if the dump contains read-protected data which the user is not authorized to access (e.g. programs protected by a read password which the user has not entered in the password table of the task).

Name of the area dump file:

  • $userid.SYS.ADUMP[.jobname].tsn.i if the file is entered under the ID of the CDUMP2 caller.

  • $SYSUSER.SYS.ADUMP[.jobname].tsn.i.userid if the file is entered under the SYSUSER system ID.

    Where:

    userid

    User ID of the CDUMP2 caller

    jobname

    JOB-NAME of the job which has called CDUMP2 (from the SET-LOGON-
    PARAMETERS command)

    tsn

    TSN of the job which has called CDUMP2

    i

    Consecutive number of the area/user dump within the task

    User dump

Scope of the user dump:

  • Total class 6 and class 5 memory, provided this is not prohibited by the system parameter DUMPCL5P.

  • Specially protected pages (“secret pages”, CSTAT PROTECT=YES macro call) are output only in the scope which is specified by the system parameter DUMPSEPA.

  • Other system areas: AIDSYSD module, Trace Dump List; task-specific system tables such as TCB (Task Control Block), TFT (Task File Table), TU-PCB (Process Control Block), TU-AUDIT-TABLE (AUDIT table, see AUDIT macro).

  • The system trace table is buffered when CDUMP2 is called and is included in the dump when the dump is created (at the point where it occurs in the system).

  • If the error task program counter (PC) indicates the system address space, any pages referenced via general purpose registers and PCs (plus 5 pages preceding and 5 pages following) are also output. If at least one page is present which is privileged but not “common readable”, the user dump is output to the ID SYSUSER.

  • Data spaces (see section “Extended addressing with data spaces”) to which the CDUMP2 caller is connected.The caller uses the DS macro operand to determine whether only specific data spaces, all data spaces or no data spaces are to be saved. If the DS operand is not specified, the value (YES or NO) set in the MODIFY-TEST-OPTIONS command, operand DATA-SPACES=*YES/*NO determines the output of data spaces.

  • The output can be controlled with /MODIFY-TEST-OPTIONS USERDUMP-OPTIONS=*PARAMETERS(...), see the “commands” manual [19 (Related publications)].

ID for user dump file:

  • User ID of the task which has called CDUMP2 if the user is authorized to read all the data output in the dump and if the dump does not contain referenced pages located in privileged address space and which are not “common readable”.

  • $SYSUSER system ID if the dump contains read-protected data which the user is not authorized to access (e.g. programs protected by a read password which the user has not entered in the password table of the task).

Name of the user dump file

  • $userid.DUMP[.jobname].tsn.i if the file is not created under the user ID of the CDUMP2 caller.

  • $SYSUSER.DUMP[.jobname].tsn.i.userid if the file is not entered under the $SYSUSER user ID.

    For function, see area dump.

System dump

Users wishing to request a system dump must have set their read privileges to a value m>=3 with /MODIFY-TEST-OPTIONS PRIVILEGE=*PARAMETERS(READ=m,WRITE=1). They are only authorized to do so if this privilege is granted to them in the user catalog.

A user or area dump can be converted to a system dump if the test privilege has been granted (see above)

  • using /MODIFY-TEST-OPTIONS, operand DUMP=*SYSTEMThe message IDA0N45 is suppressed.

  • by answering the message IDAN045 with Y,SYSTEM

The operator can control whether the system dump is output to disk, or to tape or magnetic tape cartridge.
If a system dump is abnormally terminated, the message IDA0N99 is output depending on the value of the DUMPCTRL system parameter.

Scope of the system dump:

  • Total class 6 memory - depending on the value of the system parameter DUMPSREF - except the pages which were declared as “secret pages”

  • Total class 5, class 3 and class 1 memory except the pages which were declared as “secret pages”.

  • All data areas from class 4 memory and those pages from class 4 and class 2 memory, covering the 5 pages before and after an address, to which the program counters (PC) from the PCBs and the trace table, and the general purpose registers of the PCBs and the bourse registers of the TCB refer. Exceptions to this are “secret pages”.

  • Specially protected pages (“secret pages”, CSTAT PROTECT=YES macro call) are output only in the scope which is specified by the system parameter DUMPSEPA.

  • With SNAP, class 1, class 3, and resident class 4 memory is buffered before the dump is actually generated and is then included in the dump.

  • The system trace table is buffered when CDUMP2 is called and is included in the dump when the dump is created (at the point where it occurs in the system).

  • Additional system areas: the modules AIDSYSD, EOLDTAB, DMCHD, NSISINF, CLASS2OP; areas with TU-AUDIT, Trace Dump List and the REPLOG and SERSLOG system files; system tables as in user dump.

  • Data spaces (see section “Extended addressing with data spaces”) that the operating system has defined in the dump creator CDUMP via a privileged interface ($DMPDEF(I)).

ID for system dump file: $SYSDUMP

Name of the system dump file:

:catid:$SYSDUMP.{ABSOLU / module}.pc.ec.tsn.date.time

Where:


module

Name of the module from which CDUMP2 is called, max. 8 characters

ABSOLU

is used if there is no name for the module

pc

Address in the program counter (relative to the start of the module)

ec

Event code (hexadecimal)

tsn

TSN of the task which has called CDUMP2.

date

date in the form Dyymmdd (D draws attention to the begin of the date)

time

Time in the form hhmmss


Dump output

  • The user can request a dump if /MODIFY-TEST-OPTIONS USERDUMP-OPTIONS=*PARAMETERS(DUMP=*YES) was previously specified or if DUMP=*STD is the default setting. With DUMP=*YES, the dump will be automatically created, otherwise the following query is issued in response to a dump request:

    IDA0N45 DUMP DESIRED? REPLY (Y=USER-/AREADUMP TO DISK; 
                          Y,<VOLUMETYPE>=USER-/AREADUMP TO TAPE; 
                          Y,SYSTEM=SYSTEMDUMP TO DISK; 
                          N=NO)
    

    The user is offered the choice between a user or area dump (response: Y) or a system dump (response: Y,SYSTEM). Only a user who has adequate test privileges can request a system dump. If <VOLUMETYPE> is entered, the dump is output to tape.

  • If /MODIFY-TEST-OPTIONS USERDUMP-OPTIONS=*PARAMETERS(DUMP=*STD) is set, no memory dump is issued in procedures or in batch mode. The following message appears:

    IDA0N48 TASK/SYSTEM SETTINGS PROHIBIT DUMP

  • If /MODIFY-TEST-OPTIONS USERDUMP-OPTIONS=*PARAMETERS(DUMP=*NO) is set, a dump request is rejected. The following message appears:

    IDA0N47 DUMP PROHIBITED BY /MODIFY-TEST-OPTIONS COMMAND

  • If the user has requested a system dump, the following message is displayed at the console:

    IDA0N52 SYSTEM DUMP DESIRED? REPLY (EOT=OUTPUT TO DISK; 
                                 <VOLUMETYP>=OUTPUT TO TAPE; 
                                 N=NO)
    

    The console message IDA0N52 can be suppressed with the system parameters DUMPCTRL and DUMPSD#. In general the message is suppressed if DUMPCTRL is set to “unattended operation” or “error in system task”. In addition, DUMPSD# can be used to specify the number of IDA0N52 messages that are not to appear at the console in each session.

    If IDAN052 is suppressed, the dump is created automatically. This enables greater consistency in the data in the class 3 and class 4 memories.

  • If the memory space available for output of a user or area dump is insufficient, the dump is interrupted with the following message:

    IDA0N57 INSUFFICIENT DISK SPACE. NO DUMP OUTPUT

  • If the CDUMP2 operands have not been correctly entered, the dump request is rejected with the message

    IDA0N46 CDUMP OPERAND LIST INCORRECT OR NOT AVAILABLE.

    If an error occurs in the system during output of the dump, the following messages – dependent on the error – are output:

  • IDA0N63 DMS xxxx ERROR OCCURRED. DUMP PROCESSING CONTINUED
    Dump processing is continued

  • IDA0N61 DUMP PROCESSING ABORTED DUE TO aaa ERROR AT PC=bbb. RC=ccc
    With a user or system dump, this message is also output to the console and a SERSLOG entry is written simultaneously. Dump processing is aborted.

  • Dump output is time-monitored. If the dump cannot be output within 36 minutes, output is aborted.

  • Copying of files dumped to tape
    If files have been dumped to magnetic tape cartridge, they can be copied to disk by means of the COPY-FILE command. The utility routine PERCON cannot be used in this case.

    Example

    /IMPORT-FILE SUPPORT=*TAPE(VOLUME=<volume>,DEVICE=<device>,-
           FILE-NAME=<original filename>)
    /ADD-FILE-LINK LINK=DMCOPY11,FILE-NAME=<original filename>,-
           ACCESS-METHOD=*UPAM,BUF-LEN=*STD(2)
    /ADD-FILE-LINK LINK=DMCOPY22,FILE-NAME=<output filename>,-
           ACCESS-METHOD=*UPAM,BUF-LEN=*STD(2)
    /COPY-FILE FROM-FILE=<original filename>,TO-FILE=<output filename>
    

    See also COPY-FILE command in the “commands” manual [19 (Related publications)].

General


Application area:

Debugging aids; see "Debugging aids"

Macro type:

Type S, MF format 1: C/D/L/M/E form; see "S-type macros"

CDUMP2 always generates a 31-bit interface. To generate a 24-bit interface, the old macro CDUMP (Appendix) must be used.

Macro description

The macro CDUMP2 generates a dump (in a separate dump task) for the task which has called CDUMP2. By specifying the SCOPE operand, the user can determine whether an area dump, a user dump or a system dump is to be output.

The dump is written to the disk unedited as a PAM file (it may be written to magnetic tape or to magnetic tape cartridge). The dump cannot be distributed over several tapes. For analysis and printout the dump can be edited with the software products AID and DAMP (see the “AID” manual [3 (Related publications)] and “Diagnostics Handbook” [9 (Related publications)]).

Macro formats and description of operands

CDUMP2

MF=C / D / L / M / E

,SCOPE=*USER / *SYSTEM / *AREA

[,XPAND=PARAM / DSCB / AREA]

,PC=*STD / <var: pointer> / (<reg: pointer> )

,EC=*STD / <var: pointer> / (<reg: pointer> )

,CODE=<var: pointer> / (<reg: pointer> )

,INSERT=<var: pointer> / (<reg: pointer> )

,TITL=*STD / <var: pointer> / (<reg: pointer> )

,SNAP=*STD / *YES / *NO

,ELSN=*NONE / <var: pointer> / (<reg: pointer> )

,DIAG=*NO / *YES

,DIV=*STD / *YES / *NO

,DS=*STD / *YES / *NO / <var: pointer> / (<reg: pointer>)

,MMAP=*STD / *YES / *NO

,NUM=<integer 1..2048>

,MODE=*STD / *EXP

,DSCTRL=<var: pointer> / (<reg: pointer> )

The operands are described in alphabetical order below.

CODE=
designates a character sequence for identification of the dump;. length = 7 bytes. The character sequence is output in the IDA0N51 message. This operand is only permitted in conjunction with SCOPE=*USER or SCOPE=*SYSTEM.

<var: pointer>
Name of the field with the address of the character sequence; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the character sequence; may only be specified in conjunction with MF=M.

DIAG=
Determines whether the message IDA0N50 indicating the address of the CDUMP2-SVC is sent to the operator. This operand may be specified only in conjunction with SCOPE=*SYSTEM.

*NO
The message IDA0N50 is not output.

*YES
The message IDA0N50 is output.

DIV=
Specifies whether DIV windows are to be included in the user dump. This operand may be specified only in conjunction with SCOPE=*USER, otherwise the value DIV=*YES is used. See also the section “Extended addressing with data spaces”.

*STD
The value set in /MODIFY-TEST-OPTIONS, operand DATA-IN-VIRTUAL determines whether DIV windows are to be included in the user dump (*YES) or not (*NO).

*YES
All DIV windows are to be included in the user dump.

*NO
No DIV windows are to be included in the user dump.

DS=
Determines which memory areas of data spaces (DS) are to be included in the user dump. This operand may only be specified in conjunction with SCOPE=*USER.
The areas of data spaces included in the area dump are the ones that the user has specified in the DSCTRL operand.
In system dumps, only the areas of data spaces that the operating system has defined in in the dump creator CDUMP via a privileged interface ($DMPDEF(I)) are included.
See also the section “Extended addressing with data spaces”.

*STD
The value set in /MODIFY-TEST-OPTIONS, operand DATA-SPACES determines whether data spaces are to be included in the user dump (*YES) or not (*NO).

*YES
All data spaces (up to 100 data spaces used by the caller) are to be included in the user dump.

*NO
No data spaces are to be included in the user dump.

<var: pointer>
Name of the field with the address of the list of data spaces; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the list of data spaces; may only be specified in conjunction with MF=M.
This list contains the SPIDs (8 bytes per entry). The list must end with a zero entry
(D(0)).

DSCTRL=
Points to a data space control block (DSCB). A data space and its associated areas can be defined in the DSCB. DSCTRL must point to the first DSCB. This operand may be specified only in conjunction with SCOPE=*AREA.

Data structure of a DSCB:

CDDDSCB   DSECT  ,        DATA SPACE  CTRL BLOCK
CDDDS@    DS     A                    Points to the next DSCB
CDDSPID   DS     XL8                  SPID of the DS
CDDNUM    DS     H                    Number of areas in the DS
CDDSTRT   DS     A                    Start of the first area
CDDEND    DS     A                    End of the first area

The maximum number of areas in the DSCB is 2048. By chaining DSCBs, users can specify areas of more than one data space of their task. By default, no areas of a data space are specified. See also the section “Extended addressing with data spaces”.

<var: pointer>
Name of the field with the address of the DSCB; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the DSCB; may only be specified in conjunction with MF=M.

The following specification obtains the DSECT of a DSCB: CDUMP2 MF=D,XPAND=DSCBThe following specification obtains the DSECT of an area: CDUMP2 MF=D,XPAND=AREA

EC=

defines the location from where the event code (interrupt weight) is to be fetched. The event code is output in the IDA0N51 message. This specification is permissible only in conjunction with SCOPE=*USER or SCOPE=*SYSTEM; if SCOPE=*AREA the event code is always fetched from the calling stack.

*STD
The event code is to be fetched from the caller stack

<var: pointer>
Name of the field with the address of the event code; may only be specified in conjunction with MF=M.

<reg: pointer>
Register with the address of the event code; may only be specified in conjunction with MF=M.

ELSN=
Specifies the address of a field containing the number of an Error Log Sequence Block to which the caller has written specific data in the error log file. The number is output in the IDA0N51 message..
Field length = 4 bytes, which must be aligned on a word boundary. The number must be entered as a binary digit. This operand is only permitted in conjunction with SCOPE=*SYSTEM.

*NONE
An ELSN is not output.

<var: pointer>
Name of the field with the address of the ELSN; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the ELSN; may only be specified in conjunction with MF=M.

INSERT=
defines a text to be output with the message IDA0N51. This text could contain more detailed information on the cause of the dump.
The user must place this text, which may be up to 60 characters long, in a data area with the following format:

Byte 1:

Length (hexadecimal) of the text to be output (in bytes). If byte
1 has the value 0, no INSERT text is output.

Byte 2 through n (n<=61):

Text to be output.

This operand is only permitted in conjunction with SCOPE=*USER or SCOPE=*SYSTEM.

<var: pointer>
Name of the field with the address of the text; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the text; may only be specified in conjunction with MF=M.

MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see "S-type macros". The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
The following operands must be specified for area dumps: The SCOPE operand if MF=C/D/E, and additionally the NUM operand if MF=C/D.
For system dumps, the SCOPE operand is mandatory if MF=C/D/E.

MMAP=
Defines whether memory map pages (data areas for POSIX pages) are to be stored in the dump. This operand is only evaluated if SCOPE=*USER is also specified. If SCOPE=*SYSTEM is specified, MMAP=*YES is assumed.

*STD
Default value: the value specified in /MODIFY-TEST-OPTIONS, operand MMAP determines whether memory map pages are present in the user dump.

*YES
All the memory map pages associated with the task are to be included in the user dump.

*NO
No memory map pages are to be present in the user dump.

MODE=
Defines the scope of the diagnostic data to be output for an area dump. The operand may be specified only in conjunction with SCOPE=*AREA.

*STD
Ensures that only the AIDSYSD module and the areas with COMAREA, TU-PCB and TCB are dumped in addition to the specified areas in class 6 and class 5 memory (see the section “Area dump”).

*EXP
Initiates dumping of the area with COMAREA and all other system areas as in user dump in addition to the areas specified in class 6 and class 5 memory (see the section “User dump”).

NUM=
Specifies the number of areas to be dumped. NUM is permissible only in conjunction with MF=L/C/D and only in conjunction with SCOPE=*AREA The start and end addresses of the areas to be dumped must be entered (dynamically) in the generated data area. The DSECT of the area is generated with CDUMP2 MF=D,XPAND=AREA. If MF=C/D, NUM is mandatory.

<integer 1..2048>
Number of areas to be dumped as a direct specification; number range: 1..2048.

PC=
designates a register or field which contains the program counter to be logged.

*STD
The program counter is to be fetched from the calling stack.

<var: pointer>
Name of the field with the address of the program counter; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the program counter; may only be specified in conjunction with MF=M.

SCOPE=
specifies whether a user, system or area dump is to be output.

*USER
A user dump is output

*SYSTEM
A system dump is output. This specification may only be entered by users with a read test privilege of >= 3 or for TPR programs

*AREA
An area dump is output. The addresses for the areas must be specified immediately after the parameter list. Depending on the number of areas the addresses must be specified in the following sequence: start address, end address, start address, end address, ... start address, end address.

SNAP=
determines the use of the SNAP to generate a highly consistent system dump. This operand is only permitted in conjunction with SCOPE=*SYSTEM

*STD
Means that an associated snap dump, if one exists, is used to create the system dump (if the system dump occurred because of a TPR program error, the system will normally have initiated a SNAP dump for it).

*YES
means that CDUMP2 generates a snap dump (unless an associated one already exists) and uses this to create the system dump.

*NO
means that CDUMP2 creates the system dump without using an associated snap dump (even though one may exist).

TITL=

defines an additional title line for the memory dump. Length = 132 characters.

*STD
CDUMP2 generates a standard title line.

<var: pointer>
Name of the field with the address of the title line; may only be specified in conjunction with MF=M.

(<reg: pointer>)
Register with the address of the title line; may only be specified in conjunction with MF=M.

XPAND=
specifies whether a DSECT is to be generated for the CDUMP2 parameter list, the DSCB, or an area. May only be specified in conjunction with MF=D.

PARAM
A DSECT is generated for the CDUMP2 parameter list.

DSCB
A DSECT is generated for the data space control block.

AREA
A DSECT is generated for an area.

The following specification obtains the DSECT of a DSCB: CDUMP2 MF=D,XPAND=DSCBThe following specification obtains the DSECT of an area: CDUMP2 MF=D,XPAND=AREA

Return information and error flags

The return codes are compatible with those of the old CDUMP macro.

Standard header:

+---------------+
|   |   |   |   |
| | | | | | |a|a|
+---------------+

A return code relating to the execution of the CDUMP2 macro is transferred in the standard header (aa=main code).

X'aa'

Meaning

X'00'

Dump completed without errors

X'04'

Dump completed using default values

X'08'

Dump suppressed due to /OPTION DUMP operand

X'0C'

Dump suppressed due to system standards

X'10'

Dump suppressed due to severe CDUMP2 operand error

X'14'

Dump suppressed due to insufficient test privilege

X'18'

Dump suppressed due to error in DMS routines

X'1C'

Dump suppressed due to system error

X'20'

Dump suppressed due to previous interruption of CDUMP2

X'28'

Dump suppressed due to SHUTDOWN processing

X'2C'

Dump suppressed by calling task

X'30'

All area specifications are invalid. No dump is output

X'34'

Incorrect specification for NUM=... . No dump is output

X'38'

Some dump areas are not located in the caller' s address space or the specifications are
inconsistent. At least one memory area has, however, been output

X'3C'

Dump suppressed since “DMS READY” has not yet been reached

Example

The following program creates a memory pool in class 6 memory and generates a user dump and an area dump.

CDUMP2   START
         PRINT NOGEN
         BALR  3,0
         USING *,3
         ENAMP MPNAME=MEMP,SCOPE=GLOBAL,MPIDRET=PID,BSIZE=48 ——————————  (1) 
REQMP    REQMP MPID=PID,BSIZE=5 ———————————————————————————————————————  (2) 
         LA    4,4095(1)
         LA    4,1(4)
         ST    4,AR1ANF
         MVC   0(TEXT1LEN,4),TEXT1 ————————————————————————————————————  (3) 
         LA    4,4095(4)
         ST    4,AR1END
         LA    4,1(4)
         ST    4,AR2ANF
         MVC   0(TEXT2LEN,4),TEXT2 ————————————————————————————————————  (4) 
         LA    4,4095(4)
         ST    4,AR2END
CDUMPUS  CDUMP2 MF=E,PARAM=PARAM ——————————————————————————————————————  (5) 
CDUMPAR  CDUMP2 MF=E,PARAM=AREA ———————————————————————————————————————  (6) 
TERM     TERM
****  Definitions  ****
         DS    0F
PID      DS    F
TEXT1    DC    C'AREADUMP: '
         DC    C'PAGE 2 OF MEMORY POOL '
         DC    100C'A'
         DC    100C'B'
TEXT1LEN EQU   *-TEXT1
TEXT2    DC    C'AREADUMP: '
         DC    C'PAGE 3 OF MEMORY POOL '
         DC    100C'C'
         DC    100C'D'
TEXT2LEN EQU   *-TEXT2
PARAM    CDUMP2 MF=L,SCOPE=*USER ——————————————————————————————————————  (7) 
AREA     CDUMP2 MF=L,SCOPE=*AREA,NUM=2,MODE=*EXP ——————————————————————  (8) 
AR1ANF   DS    A ——————————————————————————————————————————————————————  (9) 
AR1END   DS    A
AR2ANF   DS    A
AR2END   DS    A
         END

(1)

A memory pool consisting of 48 main memory pages is set up above the 16 Mb boundary. The start address of the memory pool is stored in Register R1.

(2)

Five main memory pages are required from the start address of the main memory pool.

(3)

The text AREADUMP: PAGE 2 OF MEMORY POOL and 100 times A and B are entered in the memory pool.

(4)

The text AREADUMP: PAGE 3 OF MEMORY POOL and 100 times C and D are entered in the memory pool.

(5)

The CDUMP2 macro is called in its E form at the symbolic address of the program, CDUMPUS. The associated data area is generated at the symbolic address PARAM by a CDUMP2 call specifying MF=L (see (7)).

The operands specified there cause the macro to output a user user dump when it is executed (SCOPE=*USER).

(6)

The CDUMP2 macro is called again in its E form at the symbolic address of the program, CDUMPAR. In this case the associated data area is generated at the symbolic address AREA by a CDUMP2 call specifying MF=L (see (8)). The operands specified there cause the macro to output an area dump for two areas (NUM=2) when executed in its extended form.

(7)

Data area for the CDUMP2 call in (5).

(8)

Data area for the CDUMP2 call in (6).

(9)

The addresses for the areas must be specified immediately after the parameter list. Depending on the number of areas the addresses must be specified in the following sequence: start address, end address, start address, end address, ... start address, end address.

Runtime log:

/start-assembh
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED
%  ASS6010 <ver> OF BS2000 ASSEMBH  READY 
//compile source=*library-element(macexmp.lib,cdump2), -
//        compiler-action=module-generation(module-format=llm), -
//        module-library=macexmp.lib, -
//        listing=parameters(output=*library-element(macexmp.lib,cdump2))
%  ASS6011 ASSEMBLY TIME: 492 MSEC
%  ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES
%  ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS
%  ASS6006 LISTING GENERATOR TIME: 82 MSEC
//end
%  ASS6012 END OF ASSEMBH
/start-executable-program library=macexmp.lib,element-or-symbol=cdump2
%  BLS0523 ELEMENT 'CDUMP2', VERSION '@' FROM LIBRARY
   ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS
%  BLS0524 LLM 'CDUMP2', VERSION ' ' OF '<date> <time>' LOADED
%  IDA0N51 PROGRAM INTERRUPT AT LOCATION '0000006A (CDUMP2), (CDUMP)'
%  IDA0N45 DUMP DESIRED? REPLY (Y=USER-/AREADUMP TO DISK;
   Y,<VOLUMETYPE>= USER-/AREADUMP TO TAPE; Y,SYSTEM=SYSTEMDUMP;
   N=NO)? y ——————————————————————————————————————————————————————————— (10) 
%  IDA0N53 DUMP BEING PROCESSED. PLEASE HOLD ON
%  IDA0N54 'USERDUMP' WRITTEN TO FILE '$QM212.DUMP.V.2RCU.00001' ——————  (11) 
%  IDA0N55 TITLE: 'TSN-2RCU  UID-QM212  AC#-89002  USERDUMP  PC-0000006A
   EC-50  VERS-150  DUMP-TIME  13:47:16  12-01-20'
%  IDA0N51 PROGRAM INTERRUPT AT LOCATION '00000070 (CDUMP2), (ADUMP)'
%  IDA0N45 DUMP DESIRED? REPLY (Y=USER-/AREADUMP TO DISK;
   Y,<VOLUMETYPE>=USER-/AREADUMP TO TAPE; Y,SYSTEM=SYSTEMDUMP;
   N=NO)? y ——————————————————————————————————————————————————————————— (12) 
%  IDA0N53 DUMP BEING PROCESSED. PLEASE HOLD ON
%  IDA0N54 'AREADUMP' WRITTEN TO FILE '$QM212.SYS.ADUMP.V.2RCU.00002' — (13) 
%  IDA0N55 TITLE: 'TSN-2RCU  UID-QM212  AC#-89002  AREADUMP  PC-00000070
   EC-50  VERS-150  DUMP-TIME  13:47:22  12-01-20'

(10)

A user or area dump is output to disk if the response to the query in the message IDA0N45 is Y[ES]. If /MODIFY-TEST-OPTIONS USERDUMP-OPTIONS=*PARAMETERS(DUMP=*YES) was issued beforehand, the message IDA0N45 is not output.

(11)

The file containing the user dump is cataloged under the user ID of the caller.

(12)

see (10)

(13)

The file containing the area dump is cataloged under the user ID of the caller.

The dumps can be edited for the interactive evaluation or printout with the utility routine DAMP (see “Diagnostics Handbook” [9 (Related publications)]).