

Breakpoint Displays for NonSymbolic Programs › Automatic Breakpoint › Backtrace Display
Backtrace Display
The backtrace display has two vertical columns under the heading in.....out on the right side of the breakpoint screen. Each pair of entries describes the boundaries of a piece of the program that executed sequentially. That is, they were executed in the same order as the machine instructions that reside in the main memory.
The backtrace display is dynamic. The most recently executed piece of code appears as the bottom line of the backtrace display, and the oldest piece of code executed is the top line. As the execution of the program progresses, new lines are added at the bottom and dropped from the top.
The following screen repeats the backtrace display shown in the previous example.
in..... out
+00000 +00000
+00022 +00038
+00014 +00020
+0003C +00358
+003CA +00478
+00480 +004B0
+004B8 +004C6
+004CE +00584
+051B8 +00584
+00586 +005D4
+051B8 +005D4
+005D6 +005E4
+005EC +00662
+051B8 +00662
+00586 +005D4
+051B8 +005D4
+005D6 +005E4
+005EC +00662
+051B8 +00662
+00664 +00692
+00586 +005D4
+051B8 +00692
+00694 +00694
+00794 curr.
In the previous example:
- The letters curr. stand for current location. The current location is also shown in the first line of the breakpoint screen (+00794 curr is the most recently executed piece of code).
- The # character precedes each statement number.
- Displacements or addresses are given for lines whose statement numbers could not be found. The displacements are preceded by a plus sign, +, and the addresses are expressed as six-hexadecimal digits.
The backtrace display reveals a number of facts about the way the monitored program behaved:
- The bottom line, for example, shows that from +00794 to curr (+007A4) the program executed sequentially.
- Before this happened—as the fourth line from the bottom shows—the program executed its instructions sequentially (from +00664 to +00692), but then +00692 passed control to the +051B8, which returned control back to +00692. Most likely, this means that at +00692 the program issued a CICS command.
In this manner, you can trace, with great precision, the execution of the program from any point in its logic all the way up to the breakpoint.
Notes:
- If one of the pieces of code executed a loop, the number of times the loop was executed appears as a decimal number under the appropriate line in the backtrace display.
- If the ,GO= element of the CA InterTest for CICS dispatch command was requested, the change in the logic flow is shown in the backtrace display just as if the program executed a branch or a GO TO command.
- At the beginning of the execution of a COBOL program, a number of lines of the backtrace display only indicate the execution of the COBOL initialization routines. The first statement number shown is the one from which the first branch instruction was executed. This limitation should not pose a problem, since the execution of the Procedure Division began from the first coded statement.
Copyright © 2014 CA Technologies.
All rights reserved.
 
|
|