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:

  1. The directory found in environment variable _CEE_DMPTARG, if found.
  2. 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.
  3. The directory found in environment variable TMPDIR (an environment variable that indicates the location of a temporary directory if it is not /tmp).
  4. The /tmp directory.

The syntax for CEE3DMP is:

Read syntax diagramSkip visual syntax diagram CEE3DMP ( title , options , fc )
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.
Table 1 summarizes the dump options available to CEE3DMP. For more information about the CEE3DMP callable service and dump options, see CEE3DMP—Generate dump in z/OS Language Environment Programming Reference. For an example of a Language Environment dump, see Understanding the Language Environment dump.
Table 1. CEE3DMP options
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.