On Mon, 3 Dec 2012 19:13:20 +0000, Hamilton, Robert <[email protected]> wrote:
. . . > >I can watch the whole array, and I know the point in the code where it is >obtained and initialized. (Having trouble figuring out how to specify the >RANGE to indicate that location). > The code that obtains and initializes the array must have the address of it somewhere. Set an IF slip somewhere there (probably best after it has been initialized), with ACTION=TARGETID, and TARGETID pointing to the SA slip. The SA SLIP can have a RANGE specified using a register, or a field pointed to by a register, and the register contents used to set the range will be the content at the point where the IF trap was triggered. I did not look now, but I am pretty sure there is an example of this sort of thing in the fine manual. > . . . Nearly every subtask determines R8 at initialization time and it never > changes; that's why I think my TRDATA should be ok. The main task shuffles > among the control blocks, but always sets R8 to point to the one he wants, so > it should be ok there too. Is the TRDATA start address determined at the > point when the SLIP is triggered? The data traced will be determined by the register contents at the time the SA PER interrupt occurs, in other words at the time the storage is altered. If the storage is altered by the code you expect, with reg 8 pointing to the block, then that is what you will get. If it is hit by something else, with some other address in reg 8, then too bad, you might get no storage traced, or get some other chunk of storage traced. If you use DATA on the SA trap, the registers used for that are also those at the point that the storage was altered. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
