[1] Page Heading |
The
page heading section appears on the top of each page of the dump and
contains: - CEE3DMP identifier
- Title For
dumps generated as a result of an unhandled condition, the title is "Condition
processing resulted in the Unhandled condition."
- Product abbreviation of Language Environment
- Version number
- Release number
- Date
- Time
- Page number
|
[2] CEE3845I CEEDUMP Processing started. |
Identifies the start of the Language Environment dump processing.
Similarly, message CEE3846I identifies the end of the dump processing,
Message number CEE3845I can be used to locate the start of the next
CEEDUMP report when scanning forward in a data set that contains several
CEEDUMP reports. |
[3] Enclave Identifier |
Names
the enclave for which information in the dump is provided. |
[4] - [10] Thread Information: These
sections show information that is specific to a thread. When multiple
threads are dumped, these sections will appear for each thread. |
[4] Information for thread |
Shows the system identifier for the thread.
Each thread has a unique identifier. |
[5] Traceback |
For all active routines in a particular thread,
the traceback section shows routine information in three parts. The
first part contains:
|
[5] Traceback (continued) |
The second part contains: - DSA number: A number assigned to the information for this active
routine by dump processing. The number is used to associate information
from the first part of the traceback with information in the second
and third parts of the traceback.
- Stack frame (DSA) address
- Entry point address
- Program unit address
- Program unit offset: The offset of the last instruction to run
in the routine. If the offset is a negative number, zero, or a very
large positive number, the routine associated with the offset probably
did not allocate a save area or the routine could have been called
using SVC-assisted linkage. Adding the program unit address to the
offset gives you the location of the current instruction in the routine.
This offset is from the starting address of the routine.
- Compile Date
- Attributes: The attributes of the compile unit including whether
character data is being treated as EBCDIC or ASCII and whether floating
point data is being treated as IEEE or hexadecimal.
The third part, which is also referred to as 'Fully Qualified
Names' section, contains the following: - DSA number
- Entry
- Program unit: Similar to the Program Unit column in part 1 except
that the server name and the complete program unit (PU) name will
be displayed. A PU name will appear here only if it was compiled using
compile options to produce statement numbers.
- Load Module: The complete pathname of a load module name residing
in an UNIX filename will be
displayed here if available. The load module's full pathname will
be displayed if the PATH environment variable is set such that the
pathname of the load module's directory appears before the current
directory (.). For load modules found in data sets, the same output
shown in the traceback part 1 will also be displayed here.
|
[6] Condition Information for Active Routines |
Displays the following information for all conditions
currently active on the call chain: - Statement showing failing routine and stack frame address of routine
- Condition information block (CIB) address
- Current® condition, in
the form of a Language Environment message
for the condition raised or a Language Environment abend
code, if the condition was caused by an abend
- Location: For the failing routine, this is the program unit, entry
routine, statement number, and offset.
- Machine state, which shows:
- Instruction length counter (ILC)
- Interruption code
- Program status word (PSW)
- Contents of GPRs 0–15. Contents of floating point content register
(FPC) and floating point registers FPR 0-15.
- Storage dump near condition (2 hex-bytes of storage near the PSW)
- Storage pointed to by General Purpose Registers
These values are the current values at the time the condition
was raised.
|
[7] Parameters, Registers, and Variables
for Active Routines |
For each active routine, this section shows:
- Routine name and stack frame address
- Saved registers: This lists the contents of GPRs 0–15 at the time
the routine received control. The saved registers are those saved
by the DSA-owning routine on entry. Register 7 is the return address
back to the caller of the DSA-owning routine. Register 6 may be the
entry point of the DSA-owning routine. (This is not true when the
Branch Relative and Save instruction is used to implement the call.
The non-volatile floating-point registers that are saved in the stack
frame. The registers are only displayed if the program owning the
stack frame saved them. Dashes are displayed in the registers when
the register values are not saved.
- Storage pointed to by the saved registers: Treating the saved
contents of each register as an address, 32 bytes before and 64 bytes
after the address shown.
|
[8] Control Blocks for Active Routines |
For each active routine controlled by the STACKFRAME
option, this section lists contents of related control blocks. The Language Environment-conforming
language determines which language-specific control blocks appear.
The possible control blocks are: - Stack frame
- Condition information block
- Language-specific control blocks
|
[9] Storage for Active Routines |
Displays local storage for each active routine.
The storage is dumped in hexadecimal, with EBCDIC translations on
the right side of the page. There can be other information, depending
on the language used. For C/C++ routines,
this is the stack frame storage. |
[10] Control Blocks Associated with the Thread |
Lists the contents of the Language Environment common
anchor area (CAA), thread
synchronization queue element (SQEL) and dummy stack frame. Other
language-specific control blocks can appear in this section. |
[11] Enclave Control Blocks |
Lists the contents of the Language Environment enclave
data block (EDB) and enclave member list (MEML). The information presented
may vary depending on which runtime options are set. - If the POSIX runtime option is set to ON, this section lists the
contents of the mutex and condition variable control blocks, the enclave
level latch table, and the thread synchronization trace block and
trace table.
- If DLLs have been loaded, this section shows information for each
DLL including the DLL name, load address, use count, writeable static
area (WSA) address, and the thread ID of the thread that loaded the
DLL.
- If the HEAPCHK runtime option is set to ON, this section shows
the contents of the HEAPCHK options control block (HCOP) and the HEAPCHK
element tables (HCEL). A HEAPCHK element table contains the location
and length of all allocated storage elements for a heap in the order
that they were allocated.
- When the call-level suboption of the
HEAPHCK runtime option is set, any unfreed storage, which would indicate
a storage leak, would
be displayed in this area. The traceback could then be used to identify
the program which did not free the storage.
- If the TRACE runtime option is set to ON, this section shows the
contents of the Language
Environment trace table.
Other language-specific control blocks can appear in this section. |
[12] Runtime Options Report |
Lists the Language Environment runtime
options in effect when the routine was executed. |
[13] Process Control Blocks |
Lists the contents for the Language Environment process
control block (PCB), process member list (MEML), and if the POSIX
runtime option is set to ON, the process level latch table. Other
language-specific control blocks can appear in this section. |
[14] CEE3846I CEEDUMP Processing completed. |
Identifies the end of the Language Environment dump processing.
Similarly, message CEE3845I identifies the start of the dump processing,
Message number CEE3846I can be used to locate the end of the previous
CEEDUMP report when scanning backward in a data set that contains
several CEEDUMP reports. |