The CODB debugging transaction allows
you to display and modify memory. It
is menu-driven and allows you to choose various CICSplex data areas using
PF keys or command line keywords.
After logging onto CICS®, enter the CODB transaction ID to display the main menu, as shown in Figure 44. (CODB can also be entered from the DUMP command of the COD0 transaction.)
COMMAND==> COMP ID==> ADDR==> ALET==> 00000000 1. XLWA 2. MODB 3. MOEB 4. OPB 5. EIS 6. EIB 7. STAKSTRT 8. STAKEND 9. MODD 10. MAL 11. PFKON 12. PFKOFF 13. END 14. CMASSTOP 15. TRACE 16 QUES 17 MENU P1=TOP P2=BOTM P3=END P4=PREV P5=NEXT P6=TOKEN P7=BACK P8=FRWD P9=JUMP P10=DSJUMP P11=ALTER P12=ALET/OFFSET MSG==>
The first field is for the command, the second is for a component ID (which is required for some commands), the third is for the address (or AR mode offset), and the last is for an ALET or zeros.
Any CODB command shown on the menu, or its associated number, is valid at any time. Some commands (such as MODB and MOEB) display a submenu listing the component ID and the address of the requested control block, if it can be located. The command name remains displayed until it is replaced by a new command, or a memory display is requested.
The MENU command can be issued at any time to redisplay the CODB menu.
CODB commands that display CICSPlex® SM control blocks (such as MODB and MOEB) require you to specify a three-character component ID in the COMP ID field. For a list of valid component IDs, see Major components of CICSPlex SM.
When you have specified a component ID, it remains displayed until one of the following occurs:
So it is possible to display various control blocks belonging to a single component by establishing the component ID and then issuing different commands.
Entering a value in the ADDR field produces a display of memory at the specified address, using the current ALET. If the address cannot be accessed, a message appears in the MSG field at the bottom of the display.
Relative addressing is also supported in the ADDR field. You can enter a scroll amount, in bytes, as a signed (+ or -) hexadecimal number. For example:
ADDR==> +2D0
Entering a value in the ALET field sets the ALET value to be used for memory displays. This field is normally filled in; it has an initial value of hexadecimal zeros.
The PF key prompt area contains a two-line list of the PF keys supported and a brief description of their values. This prompt can be turned off by the PFKOFF (12) command and turned back on by the PFKON (11) command.
The following PF keys are in effect while the CODB transaction is running:
For a control block display, PREV is both command (control block) and component sensitive. If a submenu from a control block command is displayed, PREV displays the last component’s control block, if it exists; if it does not exist, a warning message appears in the MSG field. If a component’s control block is displayed, the previous component’s control block is displayed.
For a cache list or queue record display, if you issue PREV when the first record is displayed, a warning message appears in the MSG field.
For a control block display, NEXT is both command (control block) and component sensitive. If a submenu from a control block command is displayed, NEXT displays the Kernel Linkage control block, if it exists; if it does not exist, a warning message appears in the MSG field. If a component’s control block is displayed, the next component’s control block is displayed. When displaying OPBs, NEXT runs down each component’s OPB chain, if it exists, before going on to the next component.
For a cache list or queue record display, if you issue NEXT when the last record is displayed, a warning message appears in the MSG field.
If a control block was being displayed, JUMP erases the current command and component ID and establishes the ADDR mode. After a JUMP command, it is possible to scroll beyond the bounds of the control block, even if the address selected is within the block. To reestablish control block mode, the desired command and component ID must be reentered.
This is a one line area headed by: MSG==> that appears on all screens. The MSG field is used for warning, informational, and error messages. For a list of these messages and their meanings, refer to the CICSPlex System Manager Messages and Codes.
The memory display area contains hexadecimal and EBCDIC representations of the requested memory ALET/ADDRESS, or the requested control block. Each line of the display contains an address, its offset from the beginning of the area (either the start of the control block or the address entered in the ADDR field), four full words of data in hexadecimal format, and the EBCDIC representation of those sixteen bytes. Figure 45 is a sample CODB memory display.
COMMAND==> XLWA COMP ID==> ADDR==> ALET==> 00000000
00077368 00000000 020C6EC5 E8E4E7D3 D2D5D3C3 E6C1C1C2 ..>EYUXLKNLCWAAB
00077378 00000010 01000200 000773E0 00000000 006B2F20 .......\.....,..
00077388 00000020 00000000 0000000E 0000E888 00097820 ..........Yh....
00077398 00000030 00077470 0000A81C 0008D000 000003B6 ......y...}.....
000773A8 00000040 00084E90 00040000 043E0000 00000020 ..+.............
000773B8 00000050 043E0000 FFFFF34E 8A680940 006B2F20 ......3+... .,..
000773C8 00000060 00000000 D2D3D7C2 00085310 00085828 ....KLPB........
000773D8 00000070 0A62AD40 0093D154 00077384 000773C4 ... .lJ....d...D
000773E8 00000080 00000000 00000000 00000000 00346EC5 ..............>E
000773F8 00000090 E8E4E7C5 C5E8E4D9 E7C5D3E2 01030000 YUXEEYURXELS....
00077408 000000A0 009AFC38 03C6B150 0093D140 0093D154 .....F.&;lJ .lJ.
00077418 000000B0 00FAB580 006C1258 A458C562 09D66631 .....%..u.E..O..
00077428 000000C0 D7D9D4C2 000774B8 00077528 0007752C PRMB............
00077438 000000D0 00077530 00077534 00077548 00077544 ................
00077448 000000E0 00077558 0007755C 0007756C 00077560 .......*...%...-
00077458 000000F0 00077568 00077564 00077570 00000000 ................
00077468 00000100 00000000 00000000 00000000 00097820 ................
00077478 00000110 000988BC 00099958 0009A9F4 0009BA90 ..h...r...z4....
00077488 00000120 0009CB2C 0009DBC8 0009EC64 0009FD00 .......H........
00077498 00000130 000A0D9C 000A1E38 000A2ED4 000A3F70 ...........M....
000774A8 00000140 000A500C 00000000 00000000 00000000 ..&;............
000774B8 00000150 A458C562 09D66631 006C1258 00FAB580 u.E..O...%......
000774C8 00000160 000000D4 00000002 E2E8E2C3 C3E5D4C3 ...M....SYSCCVMC
000774D8 00000170 E3E2D6F1 C3E5D4C3 E6404040 C3E6E6F1 TSO1CVMCW CWW1
000774E8 00000180 DF80FCA0 00800000 00000000 00000000 ................
000774F8 00000190 00000000 00000000 00000000 00000002 ................
00077508 000001A0 04375000 00000000 00000000 00000000 ..&;............
00077518 000001B0 00000000 00000000 00000000 00000000 ................
00077528 000001C0 00000000 00000000 00000000 00000400 ................
00077538 000001D0 00040000 00000002 0000001C 00000000 ................
00077548 000001E0 C5E8E4C4 D9C5D740 00000000 00000000 EYUDREP ........
00077558 000001F0 00000000 00000000 00000000 00000000 ................
00077568 00000200 00000000 00000000 00000000 ............
P1=TOP P2=BOTM P3=END P4=PREV P5=NEXT P6=TOKEN P7=BACK P8=FRWD
P9=JUMP P10=DSJUMP P11=ALTER P12=ALET/OFFSET
The hexadecimal and EBCDIC data portions of the display can be modified. You can overtype hexadecimal data using valid hexadecimal digits, or EBCDIC data using any keyboard character except the period. After overtyping the data, press PF11 (ALTER).
A warning message appears in the MSG field if:
Trying to modify protected storage causes an abend. The CODB recovery routine issues a message describing the abend to the console.
CODB can be entered from the COD0 transaction by:
When you exit CODB (by issuing the END command) you are returned to the COD0 transaction.
There are some advantages to using COD0 to enter CODB: