Memory pages can be provided with attributes. The following page attributes affect the processing of CDUMP:
- Secret pages
These are marked as such by the user by means of the CSTAT macro and then enjoy special protection.
Depending on what has been specified for the DUMPSEPA system parameter (see "Control by means of system parameters"), all secret pages, only secret pages from selected memory classes, or no secret pages will be included in the dump file. - Trusted pages
These are provided with a memory protect key which is not the same as that of the user.
Pages of this type for a task are handled as follows:If an area or user dump is called from a program section marked as “trusted”, the trusted pages are included in the dump and the dump is stored under the user ID SYSUSER.
If an area or user dump is called from a program section that has the user’s normal memory protect key, the trusted pages are excluded from the dump (exception: common readable pages, see below), where they are marked as “not accessible”. The area or user dump is then stored under the user ID.All trusted pages are included in a system dump.
- Common readable pages
These can be marked as such by the owner by means of the CSTAT macro (class 6 memory), which makes them generally accessible. Common readable pages are included in the dump even if they are marked as trusted pages. However, if they are also marked as secret pages, they are excluded from the dump. Read-protected areas
If programs or parts of programs indicated as being subject to special protection (e.g. read-protected programs) are included in the dump, the user dump or area dump is not output to the user’s ID, but to the ID SYSDUMP instead.For example, a program or part of a program deserves special protection if it is loaded or reloaded from a file that is protected with a read password and the user has not used the /ADD-PASSWORD command to specify the password.
- Freshly-obtained pages
These are pages requested by and reserved for a user (allocated pages), but which have not yet been used.
Freshly-obtained pages are not transferred directly to the dump file by CDUMP, but are only marked as “freshly-obtained” in the index structure for the person evaluating the dump. - DIV pages
DIV pages constitute a data area from a file which is mapped and processed in virtual memory.
These pages can be included in the user dump if the user so wishes (DIV operand in the CDUMP2 macro with SCOPE=*USER). If the DIV operand is not specified in the macro call, the value set using the DATA-IN-VIRTUAL operand in the MODIFY-TEST-OPTIONS command determines how DIV pages are handled in a user dump.
DIV pages are always included in a system dump. - MMAP pages
MMAP pages are data areas of POSIX files that are mapped and processed in the virtual address space. These pages can be included as a part of the user dump if requested by the user (MMAP operand in the CDUMP2 macro). If the MMAP operand is not specified in the macro call, the value set using the MEMORY-MAP operand in the MODIFY-TEST-OPTIONS command determines how MMAP pages are handled in a user dump.
MMAP pages are always included in a system dump.
Note
User memory areas can also be located in data spaces. All the pages in a data space have the same page attributes with the exception of “allocated” and “freshly obtained”. (This does not apply to the pages in a particular program space.)
Users can choose to include memory areas from data spaces in the user dump (DS operand in the CDUMP2 macro with SCOPE=*USER). If the DS operand is not specified when the macro is called, the value set using the DATA-SPACES operand in the MODIFY-TEST-OPTIONS command determines how data spaces are handled in a user dump.
An area dump includes precisely those areas from data spaces specified by the user when the CDUMP2 call was issued (DSCTRL operand in the CDUMP2 macro with SCOPE=*AREA).
A system dump only contains those areas from data spaces which the operating system passed to CDUMP via an interface ($DMPDEF(I)).