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

Reply via email to