Re: IPCS - How to find Load Point
You might be able to just use the IPCS LIST command (of the EP) and scrape the output. It shows the offset from the start of the module. In article <45d79eacefba9b428e3d400e924d36b9030dc...@iwdubcormsg007.sci.local> you wrote: > -Original Message- > From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On > Behalf Of Wayne Driscoll > Sent: Wednesday, February 10, 2010 4:09 PM > To: IBM-MAIN@bama.ua.edu > Subject: Re: IPCS - How to find Load Point > To find the Load Point of a module, I have used field XTLMSBAD - Address > of main Storage Block, offset x'0C' into the XLST structure. I use this > in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the > length > of the main storage block. Note that this block is NOT part of the > intended program interface, so changes are possible to this block. > > Thanx. I had looked at that (in storage), and it just didn't seem right > to me (because I misread it thanks to the color it showed up in), so I > didn't use it. But then when I did the math, sure enough it was the Load > Point, and a "?" and there I was, the Load Point. > Again, thank you. > Regards, > Steve Thompson -- Don Poitras - SAS Development - SAS Institute Inc. - SAS Campus Drive sas...@sas.com (919) 531-5637Cary, NC 27513 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
Wayne Driscoll wrote: To find the Load Point of a module, I have used field XTLMSBAD - Address of main Storage Block, offset x'0C' into the XLST structure. I use this in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the length of the main storage block. Note that this block is NOT part of the intended program interface, so changes are possible to this block. Quite right. And the name I supplied, SEGAD, is the label of that field in a SYSUDUMP. Since our debugging classes center around applications dumps, using just the tools all application programmers have, I used the name they are most likely to see in a dump. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-393-8716 http://www.trainersfriend.com z/OS Application development made easier * Our classes include + How things work + Programming examples with realistic applications + Starter / skeleton code + Complete working programs + Useful utilities and subroutines + Tips and techniques Ask me about our new, reduced rates for purchasing our course materials for use by your own trainers or Subject Matter Experts (SMEs). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
-Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Wayne Driscoll Sent: Wednesday, February 10, 2010 4:09 PM To: IBM-MAIN@bama.ua.edu Subject: Re: IPCS - How to find Load Point To find the Load Point of a module, I have used field XTLMSBAD - Address of main Storage Block, offset x'0C' into the XLST structure. I use this in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the length of the main storage block. Note that this block is NOT part of the intended program interface, so changes are possible to this block. Thanx. I had looked at that (in storage), and it just didn't seem right to me (because I misread it thanks to the color it showed up in), so I didn't use it. But then when I did the math, sure enough it was the Load Point, and a "?" and there I was, the Load Point. Again, thank you. Regards, Steve Thompson -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
To find the Load Point of a module, I have used field XTLMSBAD - Address of main Storage Block, offset x'0C' into the XLST structure. I use this in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the length of the main storage block. Note that this block is NOT part of the intended program interface, so changes are possible to this block. === Wayne Driscoll OMEGAMON DB2 L3 Support/Development wdrisco(AT)us.ibm.com === From: "Thompson, Steve" To: IBM-MAIN@bama.ua.edu Date: 02/10/2010 01:57 PM Subject: IPCS - How to find Load Point Sent by: IBM Mainframe Discussion List I am doing some work with diagnostic tools that run in an IPCS environment. I need to, programmatically, find the load point of a module (NOT the EPA unless that is the Load Point). I have looked up and tried different things, and FINDMOD doesn't find what I'm looking for. I have been doing scans and Google and can't seem to get the answer to what I need. I have written a REXX routine that does the following (within IPCS): PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my code does have multiple TCBs.] Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where the primary program issues multiple loads]. Now I can run the CDE chain to find module FOO. Once I find it, that CDE's CDENTPT is the EPA of the module (just as published). Here's the problem. Looking at the Data Areas for LLE and for XTLST I don't see where the load point is kept. My problem is, I need to find a particular string inside this load module. And I need to start at the Load Point with a FIND for this string. In the current case I'm looking at the Load point is x'CA' BEFORE the EPA (I know because I have the listing to this particular module). In other cases where I need to do this, the offset will be different. Does anyone know how I can get the Load point address out of one of these control blocks? Regards, Steve Thompson -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
IBM Mainframe Discussion List wrote on 02/10/2010 03:55:05 PM: > > Jim: Tried that and FINDMOD does not find this module -- is it because > it is not from the LPA entries and only in Job Pack? > > Yet I can find it by running the TCBJPQ into the CDE chain as I stated. You are right - the doc says FINDMOD only finds LPA stuff. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
-Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Jim Mulder Sent: Wednesday, February 10, 2010 2:42 PM To: IBM-MAIN@bama.ua.edu Subject: Re: IPCS - How to find Load Point IBM Mainframe Discussion List wrote on 02/10/2010 02:56:21 PM: > I am doing some work with diagnostic tools that run in an IPCS > environment. > > I need to, programmatically, find the load point of a module (NOT the > EPA unless that is the Load Point). > > I have looked up and tried different things, and FINDMOD doesn't find > what I'm looking for. I have been doing scans and Google and can't seem > to get the answer to what I need. The CSVINFO macro can be used in IPCS exit routines, but since you are using REXX, you can't use it directly. FINDMOD should create a symbol XLmodulename for the XTLST, which you may be able to use instead of writing your own logic to locate the XTLST. Jim: Tried that and FINDMOD does not find this module -- is it because it is not from the LPA entries and only in Job Pack? Yet I can find it by running the TCBJPQ into the CDE chain as I stated. Steve Comstock: My Data Areas (PDF versions) do not show SEGAD (even did a search on the whole directory, via PDS search, of all my data areas manuals -- 1.7 level). I also did not find it in the presentation on control blocks. Regards, Steve Thompson -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
IBM Mainframe Discussion List wrote on 02/10/2010 02:56:21 PM: > I am doing some work with diagnostic tools that run in an IPCS > environment. > > I need to, programmatically, find the load point of a module (NOT the > EPA unless that is the Load Point). > > I have looked up and tried different things, and FINDMOD doesn't find > what I'm looking for. I have been doing scans and Google and can't seem > to get the answer to what I need. > > I have written a REXX routine that does the following (within IPCS): > PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the > Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason > for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my > code does have multiple TCBs.] > > Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where > the primary program issues multiple loads]. > > Now I can run the CDE chain to find module FOO. Once I find it, that > CDE's CDENTPT is the EPA of the module (just as published). > > Here's the problem. Looking at the Data Areas for LLE and for XTLST I > don't see where the load point is kept. > > My problem is, I need to find a particular string inside this load > module. And I need to start at the Load Point with a FIND for this > string. In the current case I'm looking at the Load point is x'CA' > BEFORE the EPA (I know because I have the listing to this particular > module). In other cases where I need to do this, the offset will be > different. > > Does anyone know how I can get the Load point address out of one of > these control blocks? The CSVINFO macro can be used in IPCS exit routines, but since you are using REXX, you can't use it directly. FINDMOD should create a symbol XLmodulename for the XTLST, which you may be able to use instead of writing your own logic to locate the XTLST. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IPCS - How to find Load Point
Thompson, Steve wrote: I am doing some work with diagnostic tools that run in an IPCS environment. I need to, programmatically, find the load point of a module (NOT the EPA unless that is the Load Point). I have looked up and tried different things, and FINDMOD doesn't find what I'm looking for. I have been doing scans and Google and can't seem to get the answer to what I need. I have written a REXX routine that does the following (within IPCS): PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my code does have multiple TCBs.] Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where the primary program issues multiple loads]. Now I can run the CDE chain to find module FOO. Once I find it, that CDE's CDENTPT is the EPA of the module (just as published). Here's the problem. Looking at the Data Areas for LLE and for XTLST I don't see where the load point is kept. My problem is, I need to find a particular string inside this load module. And I need to start at the Load Point with a FIND for this string. In the current case I'm looking at the Load point is x'CA' BEFORE the EPA (I know because I have the listing to this particular module). In other cases where I need to do this, the offset will be different. Does anyone know how I can get the Load point address out of one of these control blocks? It's in the field named SEGAD. See data areas book for XTLST, also pages 19-20 from my SHARE presentation on control blocks. http://www.trainersfriend.com/General_content/Book_site.htm scroll down to the section on SHARE presentations. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-393-8716 http://www.trainersfriend.com z/OS Application development made easier * Our classes include + How things work + Programming examples with realistic applications + Starter / skeleton code + Complete working programs + Useful utilities and subroutines + Tips and techniques Ask me about our new, reduced rates for purchasing our course materials for use by your own trainers or Subject Matter Experts (SMEs). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
IPCS - How to find Load Point
I am doing some work with diagnostic tools that run in an IPCS environment. I need to, programmatically, find the load point of a module (NOT the EPA unless that is the Load Point). I have looked up and tried different things, and FINDMOD doesn't find what I'm looking for. I have been doing scans and Google and can't seem to get the answer to what I need. I have written a REXX routine that does the following (within IPCS): PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my code does have multiple TCBs.] Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where the primary program issues multiple loads]. Now I can run the CDE chain to find module FOO. Once I find it, that CDE's CDENTPT is the EPA of the module (just as published). Here's the problem. Looking at the Data Areas for LLE and for XTLST I don't see where the load point is kept. My problem is, I need to find a particular string inside this load module. And I need to start at the Load Point with a FIND for this string. In the current case I'm looking at the Load point is x'CA' BEFORE the EPA (I know because I have the listing to this particular module). In other cases where I need to do this, the offset will be different. Does anyone know how I can get the Load point address out of one of these control blocks? Regards, Steve Thompson -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html