View previous topic :: View next topic
|
Author |
Message |
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
Hi All,
While analyzing program abends, I usually check through the logic to see if any Working Storage was populated with certain value before the abend. However, there are cases where not even a single Working Storage is populated. You just have a statement like -
In such cases, another option is to check for LINKAGE or BLL's. Could you let me know how to find the value that was in a BLL when the abend happened? (All I get is an address and I really dont know how to find the corresponding location).
Regards,
Sumesh |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
I am probably missing something. . .
The address is the location, is it not? |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
Hi Dick,
That's what I'm confused about.
You get an abend and you have all the BLW's available. However, in case you need to check for BLL's, you may not have all of them available in the dump.
I want to know how to find the values that are stored at the addresses of LINKAGE section variables (dereferencing).
Say, I have WS-A and LL-A, WS-A I can locate from BLW + Offset which will correspond to value of WS-A. However, for LL-A, it might be an address. I want to know how to find the value at this address?.
Thanks,
Sumesh |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
knock knock!! |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
However, for LL-A, it might be an address. I want to know how to find the value at this address?. |
I have not replied as i am still trying to understand what this tells/asks. . .
Obviously, others are similarly confused as no one has replied.
I have always been able to find what i need in a dump, though i must admit that these days i use dumps for confirmation rather than for diagnosing a problem. |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
I will put it as an example
Code: |
IF CALL-COMPLETED
CONTINUE
ELSE
CALL IMSDUMP |
The CALL-COMPLETED is defined as shown below in LINKAGE (Note that I do not have any WS variables here to check) -
Code: |
01 CALL-STATUS PIC X(02).
88 CALL-COMPLETED VALUE 'GN' |
Now, I have the entry for CALL-STATUS in LISTING as shown below -
Code: |
BLL=3 00A 01 CALL-STATUS PIC XX.
88 CALL-COMPLETED VALUE ' ' |
Since this variable is all I can rely on, I check the HexDump for it -
Code: |
Event 12 Program XXXXXXXX BLL=0003 (Address 00012FD0) |
When I search for the address 00012FD0 in the HexDump, I am not able to find one. However, it comes as a value in between (shown below for example) -
000062E0 +180 00000000 C6F1E2C1 00006328 80BA157F *....F1SA......."*
000062F0 +190 00BA1040 00012FD0 00006160 C7D54040 *... ...}../-GN *
I have heard about this eye-catcher called F1SA. However, I am not sure how to use it . This instance where we dont have a single instance of WS variable to check into is a pain. If it's left to LS variables, how do we go about finding the value at the address of the LS variable (it surely does hold some value r8? ).
I'm sorry, but I cannot explain better than this .
Regards,
Sumesh |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
Have you looked at 00012FD0 + A for the current value of CALL-STATUS? |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
Hi William,
That's the problem. I am not able to find an Address entry for 00012FD0. All I can see is an entry of this address in the Dump.
Regards,
Sumesh |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
The dump does not contain the storage around 12FD0?
Whose dump are you using? |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
These LS variables are actually in the calling program (assuming this is a called module).
You should look at the appropriate data in the calling program part of the dump. When you have found this data in the calling module, notice how this relates to the data you are currently looking at. |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
Hi William,
I have highlighted the address in RED above. However, that's not an address (rather a value). I am looking into the right dump of module XXXXXXXX. I did a search -
F 'XXXXXXXX BLL=0003' to get to the entry that I showed in the post before.
Code: |
Event 12 Program XXXXXXXX BLL=0003 (Address 00012FD0) |
However, when I searched for 00012FD0, I was not able to find any address. I was only able to locate a value which was -
000062E0 +180 00000000 C6F1E2C1 00006328 80BA157F *....F1SA......."*
000062F0 +190 00BA1040 00012FD0 00006160 C7D54040 *... ...}../-GN *
Apologies if this is confusing but, could you let me know how to check for values of variables in linkage (BLL+?) like you do for working storage (BLW+?)?
Regards,
Sumesh |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
Point noted...I could check in the calling pgm's working storage but, in this case its a PCB mask. I have no value to get from the calling program for a PCB mask .
The value in linkage I'm looking at is the PCB status after a call. Another issue here is that the abend is called from the called module (I know this is not a good idea but, that is the case with this module).
Thanks a lot everyone for all the good suggestions.
Regards,
Sumesh |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Not all of the people who watch the IMS part of the forum watch this COBOL part of the forum.
If you want, i'll move your topic to IMS and see if the people with IMS experience might have some input. . . |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
by all means, move it. THANKS |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Done
Now we keep our fingers crossed. . .
d |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
cybertaurean - are you an IMS person? If you are, you should be checking the status code belonging to the PCB for your call.
Point noted...I could check in the calling pgm's working storage but, in this case its a PCB mask. I have no value to get from the calling program for a PCB mask |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
In addition - do not forget that those PCB addresses communicate with IMS and belong to IMS. You need to verify that everything matches - check your PSB - the sequence of your LINKAGE PCBs and your entry statement. |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
KNOCK KNOCK |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Why might it be appropriate to Knock only an hour since the last reply. . . A very good way to get the topic locked and forgotten. . . Also, i believe you were looking for a different kind of answer, but you didn't mention this when you were knocking. . .
Hi Sandy,
I believe he wants to know how to find these in an existing dump to see what is in these IMS areas. I'm not sure why this is a problem, but i also don't know if there are IMS specific things to consider.
Thank you, ma'am. . . |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
Hey Dick! As you know, I am not into GAMES. His dump is OUTSIDE of his program. He very obviously does not know and/or has anyone to inform him of the RULES of IMS. When he can post his REAL concerns and quit playing games, then maybe some of us will jump in and help. His program appears to be - well a piece of.......
In the interim, please lock this! I will help when and if I can.... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
How is the IMS-specific information located in a dump? Those "things" that only live in the Linkage Section? Is more than a program dump needed?
As i've lamented before, i help debug IMS (code is code, logic is logic ), but don't really know anything about how it is all hung together. . . |
|
Back to top |
|
|
cybertaurean
New User
Joined: 22 Dec 2008 Posts: 87 Location: US
|
|
|
|
Hi Dick,
I think I made a mistake by bringing IMS into this -
"We can find the values of WS variables from HexDumps using the BLW+Offset available in the LISTING. Going in the same manner, I tried locating the value of a LS variable by using the BLL+Offset. I was not even able to see an entry for the BLL+Offset that I needed (not that there weren't BLLs at all in the HexDump; there were BLLs but, not the ones I needed)".
The bottomline is, do we need to go about in a different manner when it comes to LS variables.
There, I have taken everything thats IMS out of the question .
Thanks for unlocking the post!!!!
Regards,
Sumesh |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
I think I made a mistake by bringing IMS into this - |
Possibly, but maybe not. . .
I just don't know IMS particulars. . . It may be that the IMS info is not available in the dump being looked at. . .
I'll leave this here (in IMS) this weekend and if no one can move us forward, i'll move it back to cobol Monday sometme. . . |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
IMS is not located in working storage - IMS is "located" in the LINKAGE section. That is where IMS communicates. IMS PCB status codes are located in LINKAGE - NOT in working storage. You cannot move anything INTO IMS controlled PCBs. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hi Sandy,
Quote: |
IMS PCB status codes are located in LINKAGE - NOT in working storage. You cannot move anything INTO IMS controlled PCBs. |
Understood, but how does one find this/these in a dump? |
|
Back to top |
|
|
|