The MODE command enables you to control the mode in which words are expanded in the MIX (Mix Number) and STACK (Format Stack Contents) commands. The PV (Print Value) command also has a mode option that you can use to control the way simple values are expanded. Some of the mode options might not be available depending on whether the area was included in the memory dump. For example, if the contents of an array have not been dumped, the command MODE + ARRAY cannot display the contents of the array.
Syntax
── MODE ─┬─────────────────────┬───────────────────────────────────────┤ ├─ ? ─────────────────┤ ├─ + ─┬─<mode option>─┘ └─ ─ ─┘
<mode option>
──┬─ ALL ─────────────┬────────────────────────────────────────────────┤ ├─ ARRAY ───────────┤ ├─ ASC ─────────────┤ ├─ ASDUSAGE ────────┤ ├─ CB ──────────────┤ ├─ CC ──────────────┤ ├─ CODE ────────────┤ ├─ DEC ─────────────┤ ├─ EBC ─────────────┤ ├─ EVENT ───────────┤ ├─ FIB ─────────────┤ ├─ IDNAMES ─────────┤ ├─ IOCB ────────────┤ ├─ IOCD ────────────┤ ├─ LIB ─────────────┤ ├─ LOCK ────────────┤ ├─ MCB ─────────────┤ ├─ MULTIareabuffer ─┤ ├─ OCT ─────────────┤ ├─ PCW ─────────────┤ ├─ PIB ─────────────┤ ├─ SB ──────────────┤ ├─ TAB ─────────────┤ └─ UNCompressed ────┘
Explanation
The following text describes the meaning of each construct:
MODE?
Displays the current mode or modes.
MODE+ <mode option>
Adds the specified mode.
MODE- <mode option>
Deletes the specified mode.
<mode option>
Mode Option Descriptions explains the purpose of the various mode options.
Table 11. Mode Option Descriptions
ASDUSAGE Mode Option
A mode of ASDUSAGE may be set or reset affecting the analysis of descriptors. When the ASDUSAGE mode is set and the descriptor being analyzed is for a multi-dimensioned or segmented array, additional information is collected for display. The segment for the ASD for the descriptor being analyzed is searched recursively, and the total number of ASDs allocated for the array and the total memory these ASDs represent are added to the descriptor analysis.
The mode setting affects the output of several commands. The following is an example showing the output from the STACK and PV commands.
Example
INPUT: PV M[G SPIB] ASDUSAGE
C 200000 000421 Desc [Present-mom] : ASD=002109, Address=00146360, Length=4092 (DOPEVECT) ASD 002109 Usage : 80 Asds (13528 Words)
INPUT: MODE + ASDUSAGE
MODES: SET: ASDUSAGE RESET: EBC ASC DEC OCT PCW LOCK CODE FIB ARRAY LIB IOCB MCB MULTIareabuffer IOCD CC PIB TAB IDNAMES CB SB
INPUT: STACK 12 OFFSET 3B9 - 3B9 STACKDUMP FOR STACK 0012 MIX NUMBER 0/0 Name: *SYSTEM/EPSILONIOA/MCP ON DISK00
Job Messages: (null) Stack Kind: MCP STACKINFO: 0 000098 740001 STACKSTATUS: 0 FFFC00 700001 Priority: 0 Visible Status: FROZEN SoftPS Status: Active, In Limbo Language: NEWP 0.0 Compiler Info: IPC Capable
BOSR=000051FE50 LOSR=0000521743 LENGTH=018F3 (6387) 03B9 (00,03B1) C 200000 000421 Desc [Present-mom] : ASD= 002109, Address=00146360, Length=4092
IDNAMES Mode Option
When you specify the IDNAMES mode, DUMPANALYZER checks the code file corresponding to a return control word (RCW) to determine if BINDINFO information is present. Complete BINDINFO information must be present to get a display. Creating BINDINFO Information explains the way you can get complete BINDINFO information for each type of compiler that supports complete BINDINFO information. Currently, only ALGOL and COBOL74 support complete BINDINFO.
If you have both the CC option and the IDNAMES option set when you use the STACK command to analyze a stack, DUMPANALYZER will attempt to resolve ambiguous local environments, and it will use tables available in a code file (compiled with the __PDUMPINFO compiler control option) to describe any heap address variables. For further information about the __PDUMPINFO option, see the C Programming Reference Manual, Volume 1.
Table 12. Creating BINDINFO Information
To create BINDINFO information in . . . |
Use this Method |
---|---|
COBOL or COBOL74 |
|
ALGOL |
No action needed. The ALGOL compiler generates complete BINDINFO information, unless you compile the program with the compiler control option NOBINDINFO set. If ALGOL is compiled with the BEGINSEGMENT/ENDSEGMENT compiler control options set, an incorrect environment results. When DUMPANALYZER cannot find a correct environment, it cannot display identifier name or class information. |
FORTRAN77 |
Set the compiler control option BINDINFO. This compiler generates only partial BINDINFO information. |
You cannot use the IDNAMES mode for MCP environments. Use the LOADXREF command instead. No mechanism exists for getting identifier names for environments that are bound into the MCP.
If DUMPANALYZER cannot find a code file that corresponds to an RCW, the system displays a NO FILE message. RSVP Responses for a NO FILE Condition with the Mode Command describes RSVP responses.
Table 13. RSVP Responses for a NO FILE Condition with the Mode Command
Enter . . . |
To . . . |
---|---|
OF |
Cancel the IDNAMES option. The following message appears: CODEFILE NOT AVAILABLE. |
FA |
Change the file attribute of the code file. You can use this response to direct DUMPANALYZER to the correct code file, by specifying attributes such as TITLE and FAMILYNAME. |
If DUMPANALYZER finds a code file with a creation time or date that is different than the code file that was running at the time the dump was created, the following messages appear:
WRONG CODE FILE: <code file title> HEADER CREATION: <creation timestamp from header> FILE CREATION: <creation timestamp from file>
DUMPANALYZER does not use a codefile with the wrong timestamp in determining a sequence number from an RCW, regardless of the setting of MODE IDNAMES. In cases where this mismatch occurs and IDNAMES is not set, the file is not used, and sequence number is not displayed. However, an indication that the wrong version of the codefile is present will be displayed instead of an incorrect sequence number. After the codefile is skipped, you might have to reset and set MODE IDNAMES, use the CODEFILE command, or display a stack with a different segment dictionary so that DUMPANALYZER considers the mismatched file again.
Response to a WRONG CODE FILE Messageexplains the ways you can respond to a WRONG CODE FILE message.
Table 14. Response to a WRONG CODE FILE Message
Enter . . . |
To . . . |
---|---|
OK |
Cause the code file to be used anyway. |
RESTART |
Cause the file specified in the CODEFILE command to be used as the code file. If you have not used the CODEFILE command, a NO FILE message appears. The way you can respond to a NO FILE message is explained in RSVP Responses for a NO FILE Condition with the Mode Command. |
Example
The following shows an example of the response to a MODE command.
INPUT: MODE + ALL MODES: SET: EBC DEC OCT PCW LOCK CODE FIB ARRAY LIB IOCB IOCD PIB TAB IDNAMES CC CB RESET: