You can set unconditional breakpoints directly on the Source Listing screen just as easily as you displayed and modified TASKNUM. Enter u to the left of each instruction where you want the application to halt program execution. Let us see how to set a breakpoint at the following instruction:
CP TASKNUM,=P'1'
CA InterTest for CICS Release 9.1.00 - PROTSYM FILE ABEND DETECTED BREAKPOINT COMMAND ===> Program= ASMDEMO Option # Stmt # Displacement= Margin= 01 Search= ------------------------------------------------------------------------------- _____ R13.TASKNUM | 00000. ---------++-------------------------------------------------------------------- Loc Object Code Addr1 Addr2 Stmt Source Statement _ 000192 4050 D1B0 001B0 1456 STH R5,MSGLEN A 000196 FA20 D189 4AE8 00189 02AE8 ==> AP TASKNUM,=P'1' _ 00019C F920 D189 4AE9 00189 02AE9 1458 CP TASKNUM,=P'2' _ 0001A2 4720 2328 00328 1459 BH ENDMSG u 0001A6 F920 D189 4AE8 00189 02AE8 1460 CP TASKNUM,=P'1' _ 0001AC 4780 227E 0027E 1461 BE SENDSCR4 _ 0001B0 47F0 2328 00328 1462 B ENDMSG _ 0001B4 1464 RETURN DS 0H 1465 * EXEC CICS SEND FROM(OUTMSG 1466 DFHECALL =X'04043000080000 0001B4 4110 D068 00068 ),(FB_2,OUTLEN) 1482 * EXEC CICS SEND FROM(SCREEN 1483 DFHECALL =X'04043000080000 0001DA 4110 D068 00068 2),(FB_2,MSGLEN) 1499 * EXEC CICS RETURN 1500 * TRANSID(EIBTRNID)
The application resumes program execution and continues until it reaches the breakpoint you just set. The program is halted before the breakpoint instruction executes and the following screen appears.
CA InterTest for CICS Release 9.1.00 - PROTSYM FILE UNCOND BEFORE BREAKPOINT COMMAND ===> Program= ASMDEMO Option # Stmt # Displacement= Margin= 01 Search= ------------------------------------------------------------------------------- _____ R13.TASKNUM | +00001. ---------++-------------------------------------------------------------------- Loc Object Code Addr1 Addr2 Stmt Source Statement _ 0001A2 4720 2328 00328 1459 BH ENDMSG U 0001A6 F920 D189 4AE8 00189 02AE8 ==> CP TASKNUM,=P'1' _ 0001AC 4780 227E 0027E 1461 BE SENDSCR4 _ 0001B0 47F0 2328 00328 1462 B ENDMSG _ 0001B4 1464 RETURN DS 0H 1465 * EXEC CICS SEND FROM(OUTMSG 1466 DFHECALL =X'04043000080000 0001B4 4110 D068 00068 ),(FB_2,OUTLEN) 1482 * EXEC CICS SEND FROM(SCREEN 1483 DFHECALL =X'04043000080000 0001DA 4110 D068 00068 2),(FB_2,MSGLEN) 1499 * EXEC CICS RETURN 1500 * TRANSID(EIBTRNID) 1501 * COMMAREA(TSAREA) 1502 * LENGTH(COMLEN) 1503 DFHECALL =X'0E08E00008000
Notice the U to the left of the highlighted instruction. It identifies the breakpoint as an Unconditional breakpoint. For an Automatic, Conditional, Variable‑Change, or Request breakpoint, the application displays an A, C, V, or R, respectively.
Note: The value of TASKNUM is now 1 because the AP instruction executed successfully.
When you are stopped at a breakpoint, you can:
When debugging your own programs, you typically perform one or more of these activities, which are described in detail in the next chapter. ASMDEMO does not have any more errors, so we will complete the demo session.
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|