Generating a Language Environment dump with CEE3DMP
For non-64-bit, the CEE3DMP callable service generates a dump of the runtime environment for Language Environment and the member language libraries at the point of the CEE3DMP call. You can call CEE3DMP directly from an application routine.
Depending on the CEE3DMP options you specify, the dump can contain information about conditions, tracebacks, variables, control blocks, stack and heap storage, file status and attributes, and language-specific information.
All output from CEE3DMP is written to the default ddname CEEDUMP. CEEDUMP, by default, sends the output to the SDSF output queue. You can direct the output from the CEEDUMP to a specific sysout class by using the environment variable, _CEE_DMPTARG=SYSOUT(x), where x is the output class.
Under z/OS UNIX, if the application is running in an address-space created as a result of a
fork()
, spawn()
, spawnp()
,
vfork()
, or one of the exec family of functions, then the CEEDUMP is placed in the
z/OS UNIX file system in one of the following directories in the specified order:
- The directory found in environment variable _CEE_DMPTARG, if found.
- The current working directory, if this is not the root directory (/), the directory is writable, and the CEEDUMP path name does not exceed 1024 characters.
- The directory found in environment variable TMPDIR (an environment variable that indicates the location of a temporary directory if it is not /tmp).
- The /tmp directory.
The syntax for CEE3DMP is:
- title
- An 80-byte fixed-length character string that contains a title that is printed at the top of each page of the dump.
- options
- A 255-byte fixed-length character string that contains options that describe the type, format,
and destination of dump information. The options are declared as a string of keywords that are
separated by blanks or commas. Some options also have suboptions that follow the option keyword, and
are contained in parentheses. The last option declaration is honored if there is a conflict between
it and any preceding options. Table 1 lists the CEE3DMP
options and related information.
The IBM-supplied default settings for CEE3DMP are:
ENCLAVE(ALL) TRACEBACK THREAD(CURRENT) FILES VARIABLES NOBLOCKS NOSTORAGE STACKFRAME(ALL) PAGESIZE(60) FNAME(CEEDUMP) CONDITION ENTRY NOGENOPTS REGSTOR(96)
- fc (output)
- A 12-byte feedback token code that indicates the result of a call to CEE3DMP. If specified as an argument, feedback information, in the form of a condition token, is returned to the calling routine. If not specified, and the requested operation was not successfully completed, the condition is signaled to the condition manager.
Dump options | Abbreviation | Action Taken |
---|---|---|
ENCLAVE(ALL) | ENCL | Dumps all enclaves associated with the current process. (In ILC applications in which a C/C++ routine calls another member language routine, and that routine in turn calls CEE3DMP, traceback information for the C/C++ routine is not provided in the dump.) This is the default setting for ENCLAVE. |
ENCLAVE(CURRENT). On CICS®, only ENCLAVE(CURRENT) and ENCLAVE(1) settings are supported. |
ENCL(CUR) | Dumps the current enclave. |
ENCLAVE(n) On CICS, only ENCLAVE(CURRENT) and ENCLAVE(1) settings are supported. |
ENCL(n) | Dumps a fixed number of enclaves, indicated by n. |
THREAD(ALL) | THR(ALL) | Dumps all threads in this enclave (including in a PL/I multitasking environment). |
THREAD(CURRENT) | THR(CUR) | Dumps the current thread in this enclave. |
TRACEBACK | TRACE | Includes a traceback of all active routines. The traceback shows transfer of control from calls or exceptions. Calls include PL/I transfers of control from BEGIN-END blocks or ON-units. |
NOTRACEBACK | NOTRACE | Does not include a traceback of all active routines. |
FILES | FILE | Includes attributes of all open files. File control blocks are included when the BLOCKS option is also specified. File buffers are included when the STORAGE option is specified. |
NOFILES | NOFILE | Does not include file attributes. |
VARIABLES | VAR | Includes a symbolic dump of all variables, arguments, and registers. |
NOVARIABLES | NOVAR | Does not include variables, arguments, and registers. |
BLOCKS | BLOCK | Dumps control blocks from Language Environment and member language libraries. Global control blocks, as well as control blocks associated with routines on the call chain, are printed. Control blocks are printed for the routine that called CEE3DMP. The dump proceeds up the call chain for the number of routines that are specified by the STACKFRAME option. Control blocks for files are also dumped if the FILES option was specified. See the FILES option for more information. If the TRACE runtime option is set to ON, the trace table is dumped if BLOCKS is specified. If the Heap Storage Diagnostics report is requested using the HEAPCHK runtime option, the report is displayed when BLOCKS is specified. |
NOBLOCKS | NOBLOCK | Does not include control blocks. |
STORAGE | STOR | Dumps the storage used by the routine. The number of routines dumped is controlled by the STACKFRAME option. |
NOSTORAGE | NOSTOR | Suppresses storage dumps. |
STACKFRAME(ALL) | SF(ALL) | Dumps all stack frames from the call chain. This is the default setting for STACKFRAME. |
STACKFRAME(n) | SF(n) | Dumps a fixed number of stack frames, indicated by n, from the call chain. The specific information dumped for each stack frame depends on the VARIABLES, BLOCK, and STORAGE options declarations. The first stack frame dumped is the caller of CEE3DMP, followed by its caller, and proceeding backward up the call chain. |
PAGESIZE(n) | PAGE(n) | Specifies the number of lines, n, on each page of the dump. |
FNAME(s) | FNAME(s) | Specifies the ddname of the file to which the dump is written. |
CONDITION | COND | Dumps condition information for each condition active on the call chain. |
NOCONDITION | NOCOND | For each condition active on the call chain, does not dump condition information. |
ENTRY | ENT | Includes a description of the program unit that called CEE3DMP and the registers on entry to CEE3DMP. |
NOENTRY | NOENT | Does not include a description of the program unit that called CEE3DMP or registers on entry to CEE3DMP. |
GENOPTS | GENO | Generates a runtime options report in the dump output. This will be the default if an unhandled condition occurs, and a CEEDUMP is generated due to the setting of the TERMTHDACT runtime option setting. |
NOGENOPTS | NOGENO | Does not generate a runtime options report in the dump output. NOGENOPTS is the default for user-called dumps. |
REGSTOR(reg_stor_amount) | REGST(reg_stor_amount) | Controls the amount of storage to be dumped around registers. Default is 96 bytes. Specify REGSTOR(0) if no storage around registers is required. |