View previous topic :: View next topic
|
Author |
Message |
rohitsapru
New User
Joined: 20 Jul 2006 Posts: 2 Location: India
|
|
|
|
Hi people! I have a question regarding dump analysis.
For some of the abends that I am checking at my site, the BLW (base locator for working storage) cannot be found in the dump.
We have IBM Fault Analyzer at our shop, however I think this question may not be directly related to the product (I could be wrong though!). The way I see it, the 'fault' captured by FAZ is just a user-friendly representation of CEEDUMP, and other information.
The fault does contain the following information. But when I search for that particular BLW, or the address for that BLW, it is not present.
Recently referenced data items:
Data Item . . . . . . . . : BLW=NNNN+MMMM
At Address. . . . . . . : PPPPPPPP
Length. . . . . . . . . : something
Data Item Storage . . . : something
I used to think that the fault/dump should capture ALL BLWs (and BLLs and BLFs). Is this understanding incorrect?
Thank you. |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
If you subtract the ILC (Instruction Length Code) from the PSW, it should take you to the address of the bad instruction.
The PSW displays the address of the NSI (Next Sequential Instruction).
I can't help you with FAZ....
Bill |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
rohitsapru wrote: |
[...] I have a question regarding dump analysis.
For some of the abends that I am checking at my site, the BLW (base locator for working storage) cannot be found in the dump.
[...] |
You can locate all the locators, for certain, in their allocated place in your Cobol object code.
You show an example of "Recently referenced data items" - what happens if there are none (whatever "recent" means in that context, or "referenced" for that matter).
So, they are in the dump (in that they have storage assigned to them and will have some value in them).
If they are not in some particular formatted extract from the dump, that is a different question. You are in a better position to research that than I am. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
I used to think that the fault/dump should capture ALL BLWs (and BLLs and BLFs). Is this understanding incorrect? |
Your understanding is incomplete. An abend and consequent dump may be generated by the application program or a system routine. If the application program causes the abend, LE (Language Environment) may intercept that abend and format its own dump for the abend. In this case, you may or may not get all the data you would get from a full system dump. |
|
Back to top |
|
|
rohitsapru
New User
Joined: 20 Jul 2006 Posts: 2 Location: India
|
|
|
|
Thank you for your replies.
Locating the bad instruction in the abend is almost always a clear and simple task.
Searching for the Locators in the COBOL object code is also straight forward.
For some reason, I was unable to locate certain storage areas in the formatted dump.
Ummm, I need to dig my head deeper and make an honest attempt to find out why! |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Good for you, Rohit.
Do try the manual for the product. It should (I hope) define terms such that you know what to expect in which circumstance, when to expect nothing, etc.
As you are probably aware, it is possible to "accidently" trash the contents of all your BLx's, save areas and other vital stuff. Anything formatting the dump relies on this sort of information being valid, so will produce non-standard output. What you posted so far doesn't look to me like that yet, but you may have other clues. Like anything, a dump formatter relies on the quality of the input data. Garbage in, Garbage Out.
It is good to be able to know your way around the "nak***" dump in such situations :-) |
|
Back to top |
|
|
nevilh
Active User
Joined: 01 Sep 2006 Posts: 262
|
|
|
|
If you want to test to see if it is the Fault Analyzer that is causing the problem rerun the job but add a DD card that looks like the following
//IDIOFF DD DUMMY
This will disable the fault analyzer for this job. Just make sure you have a
SYSUDUMP or SYSABEND dd card in the JCL |
|
Back to top |
|
|
|