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 HFS in one of the following directories in the specified order:
The syntax for CEE3DMP is:
Syntax >>-CEE3DMP--(--title--,--options--,--fc--)---------------------><
ENCLAVE(ALL) TRACEBACK
THREAD(CURRENT) FILES VARIABLES NOBLOCKS NOSTORAGE
STACKFRAME(ALL) PAGESIZE(60) FNAME(CEEDUMP)
CONDITION ENTRY NOGENOPTS REGSTOR(96)
Table 1 summarizes the dump options available to CEE3DMP. For more information about the CEE3DMP callable service and dump options, see z/OS Language Environment Programming Reference. For an example of a Language Environment dump, see Understanding the Language Environment dump.
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) | ENCL(CUR) | Dumps the current enclave. |
ENCLAVE(n) | ENCL(n) | Dumps a fixed number of enclaves, indicated by n. |
Note: On CICS®, only ENCLAVE(CURRENT) and
ENCLAVE(1) settings are supported.
|
||
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 specified by the STACKFRAME option. Control blocks for files are also dumped if the FILES option was specified. See the FILES option above 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. |