Ok Then can you please tell me how do restore
The user programs R14 which was saved in the getmained workarea There must be a way to this or else the whole call at a breakpoint doesn’t work Should I make a Fake breakpoint in the user program extent and again the only reason I want to stop things Is to restore the user programs 14 and then have it break on the orignal breakpoint without any subcommands such as calling a user program Thank you > On Oct 14, 2024, at 10:06 AM, Mike Shaw <[email protected]> wrote: > > Joe, > > TEST knows where it set breakpoints. > > AFAIK you can't fake it out by moving code and branching to an area that > is not within any program extent and trying to breakpoint there. > > Mike Shaw > MVS/QuickRef Support > Chicago-Soft, Ltd. > > >> On Sun, Oct 13, 2024, 9:43 PM Joseph Reichman < >> [email protected]> wrote: >> >> Hi >> >> I am having all sorts of problems with the TEST Call subcommand >> specifically restoring the USER program R14 value >> >> The Documentation says the return value whether you use RESUME "which >> specifies upon completion of execution, the called program returns control >> to the address of the last breakpoint before the CALL". >> >> In this case r14 points to address of where the breakpoint is >> >> Or you can explicitly set where you want to return by coding RETURN and >> having R14 point to where you want to return >> >> The problem is in either case one has to set the USER programs R14 back >> >> What I wanted to do is return to the breakpoint which had the call only >> this >> time without calling the user program >> >> Now it seems to me the only way to get this done is by >> >> >> First Save the address of where the breakpoint is upon entry >> >> Then have R14 point to a DUMMY breakpoint by that I mean you have a >> workarea >> obtained with TEST subcommand GETMAIN (passed as a parm) to the user prog >> have some area 2 bytes with a nop >> >> X'0700' and in the called program branch back to it so for example >> >> use the following TEST subcommand >> Assume the original R14 was saved in workarea+4 >> >> AT WORKAREA+30 (COPY WORKAREA+4 R14 LENGTH(4); AT WORKAREA+40? ; GO >> WORKAREA+40?) >> >> >> >> This code would >> >> First seem to go to dummy breakpoint >> Second retore the user program value of R14 Third set a breakpoint at the >> original breakpoint (without a call) Fourth go to the breakpoint >> >> However I keep on getting a S0C4 >> >> >> The following is snippets of the user program >> >> >> USERPROG CSECT >> USING R3,USERPROG >> LR R3,R15 >> ST R14,RETURN >> >> MVC DUMMYBREAK,=X'0700' >> >> LA R14,DUMMYBREAK >> BR R14 >> >> >> >> >> WORKAREA DSECT >> >> >> 0030 DUMMYBREAK DS XL2 >> 0040 RETRUN DS A >> >> ---------------------------------------------------------------------- >> >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO IBM-MAIN >> > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
