IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Locating BLL's in Hex Dump


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Wed Apr 28, 2010 8:05 pm
Reply with quote

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 -

Code:
CALL IMSDUMP


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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Apr 28, 2010 10:03 pm
Reply with quote

Hello,

I am probably missing something. . .

The address is the location, is it not?
Back to top
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Thu Apr 29, 2010 12:14 am
Reply with quote

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
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Thu Apr 29, 2010 8:21 pm
Reply with quote

knock knock!! icon_biggrin.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu Apr 29, 2010 9:30 pm
Reply with quote

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. . . icon_confused.gif

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
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Thu Apr 29, 2010 10:26 pm
Reply with quote

I will put it as an example icon_smile.gif

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 icon_sad.gif. 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? icon_smile.gif).

I'm sorry, but I cannot explain better than this icon_smile.gif.

Regards,
Sumesh
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Thu Apr 29, 2010 11:21 pm
Reply with quote

Have you looked at 00012FD0 + A for the current value of CALL-STATUS?
Back to top
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Thu Apr 29, 2010 11:27 pm
Reply with quote

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
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Thu Apr 29, 2010 11:35 pm
Reply with quote

The dump does not contain the storage around 12FD0?
Whose dump are you using?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Apr 30, 2010 12:47 am
Reply with quote

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
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Fri Apr 30, 2010 12:52 am
Reply with quote

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
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Fri Apr 30, 2010 12:56 am
Reply with quote

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 icon_sad.gif.

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Apr 30, 2010 1:06 am
Reply with quote

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
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Fri Apr 30, 2010 1:08 am
Reply with quote

by all means, move it. THANKS icon_biggrin.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Apr 30, 2010 2:25 am
Reply with quote

Done icon_smile.gif

Now we keep our fingers crossed. . .

d
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Fri Apr 30, 2010 4:40 pm
Reply with quote

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
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Fri Apr 30, 2010 6:35 pm
Reply with quote

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
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Fri Apr 30, 2010 7:34 pm
Reply with quote

KNOCK KNOCK icon_biggrin.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Apr 30, 2010 8:33 pm
Reply with quote

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
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Fri Apr 30, 2010 9:44 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat May 01, 2010 2:31 am
Reply with quote

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 icon_neutral.gif ), but don't really know anything about how it is all hung together. . .
Back to top
View user's profile Send private message
cybertaurean

New User


Joined: 22 Dec 2008
Posts: 87
Location: US

PostPosted: Sat May 01, 2010 2:39 am
Reply with quote

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 icon_biggrin.gif.

Thanks for unlocking the post!!!!

Regards,
Sumesh
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat May 01, 2010 3:22 am
Reply with quote

Hello,

Quote:
I think I made a mistake by bringing IMS into this -
Possibly, but maybe not. . . icon_neutral.gif

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
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat May 01, 2010 3:47 am
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat May 01, 2010 4:32 am
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> IMS DB/DC Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Printing a dataset in DUMP format wit... ABENDS & Debugging 2
No new posts Sorry - Trying again: How can we impr... ABENDS & Debugging 2
No new posts Need help in locating program and tra... IMS DB/DC 1
No new posts adrdssu tool to dump a files from a PDS JCL & VSAM 5
No new posts DUMP A Multi volume datasets and rest... JCL & VSAM 6
Search our Forums:

Back to Top