MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Pinpoint Abends SOC7/SOC5,SOC4 etc

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Problem Determination
View previous topic :: View next topic  
Author Message
ST
Beginner


Joined: 04 Jan 2003
Posts: 24
Topics: 12

PostPosted: Sat Jan 04, 2003 5:28 pm    Post subject: Pinpoint Abends SOC7/SOC5,SOC4 etc Reply with quote

Hi,
Can anyone let me know as how do we back trak into the COBOL pgm if the pgm was abended with SOC5/SOC7/SOC4 etc..I know the causes for those errors. But how do we figure out which move stmt or where exactly the problem is. Sysdump,Sysabend etc gives some address memory locations but they d't give clear idea.

Also If the main pgm is calling another one,and get this kind of abends then how do we proceed to fix them?

I do not want to use DISPLAY stmts and also does PSW show something abt this?

Your response is greatly appreciated.

Thanks,
ST
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Sat Jan 04, 2003 6:23 pm    Post subject: Reply with quote

ST,

This is a question which is best answered by sitting down with you and show you how to read dump.But that is quite impossible,so let me take a example and show it.Let us say you have dump like this in the SYSUDUMP.
Code:
 
The Failing Instruction is in Program (CSECT): MYPROG At Offset +X'037640' .


You need to determine the Verb corresponding to this offset - if your program was compiled with the OFFSET option then search for 'VERB' - you should find something like this:
Code:

LINE # HEXLOC VERB
003658 000F22 PERFORM
....


Note that there will be mulitple columns of this data (and probably several pages). You need to find a HEXLOC value which is equal to, or slightly less than, your offset (37640). The line# will then direct you to the failing instruction.

If the program was compiled with the LIST option, then you will have an assembler listing, and you should be able to find this offset directly.If the program was not compiled with either of these options, you will need to recompile it with the OFFSET option specified.

However, this is a huge offset, and it is quite possible that you are not actually in your program, but instead in a called subroutine (possibly a Cobol subroutine to perform data conversion). If this is the case, you would normally use R14 to identify where you came from - however, in this case R14 is being used as a data register, which makes life a little more difficult. It now depends upon how complete your dump is, as you will need to find the R14 value at the entry to the subroutine. This should be at x'0C' in to the savearea addressed by R13.

If your shop has Abend-aid then it will be easier to use "the dump", because it has been formatted so that it can read easily. Otherwise, dump reading is somewhat more difficult. You have to learn how to do a dump analysis, which would include knowledge of items such as REGISTERS, PSW, CDE, XL etc.

Also Application Debugging by Robert Binder is a good book to read.

Hope this helps...

cheers

kolusu


Last edited by kolusu on Sat Jan 04, 2003 6:50 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ST
Beginner


Joined: 04 Jan 2003
Posts: 24
Topics: 12

PostPosted: Sat Jan 04, 2003 6:44 pm    Post subject: Reply with quote

Kolusu,
Thanks a lot for your explanation...appreciated...

But did u mean that for Offset +X'037640' if we could find 'VERB' like you mentioned as down below
1)LINE # HEXLOC VERB
2)003658 000F22 PERFORM

what does the 2nd statement tells..does it tell like therez an error in PERFORM statement at line 3658?

OR

is it like the line number corresponding to this offset 003658 has error?

am bit confused..can you please clarify..

Thanks,
ST
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Sat Jan 04, 2003 6:49 pm    Post subject: Reply with quote

ST,

Did you read this in my first post?

Code:

You need to find a HEXLOC value which is equal to, or slightly less than, your offset (37640). The line# will then direct you to the failing instruction


Kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dalaly
Beginner


Joined: 29 Nov 2002
Posts: 56
Topics: 23

PostPosted: Sat Jan 04, 2003 7:03 pm    Post subject: Reply with quote

Hi ST,

Additionally, if your shop has Abend Aid you can set your view up similar to the below mentioned example and it will show you the exact piece of code which was being executed when the program abended. Make sure you compile the program to your own DDIO library. This example is for the test environment. If you want to do this in a production environment you need to make sure your shop is set up for that because not all companies enable this option.

My DDIO library is "'TVSAMD.XPED2.SYMBOLIC' in the example below you will need to replace this with your DDIO hit enter and follow through Abend Aid as you usually would. By doing this you will have a formated dump of your source listing and the exact statement that was causing the problem.

Code:
COMPUWARE/VF ENTRY PANEL --------- COPYRIGHT COMPUWARE CORPORATION 1976, 2001.
Command ===>                                                                   
Dataset choice . 0        (Select 0 - 8, from below, or C for Contact Data)   
Member . . . . . ________ (MVS:jobname, CICS:tran/term, SOURCE:pgm, or member*)
                          (Use the LNAME command to enter a Long Program Name)
                                                                     Remote   
       Abend-AID Report File:                                Volume  Server   
           0 'ABENDSPF.DUMP'                                             
       DDIO Source Listing Files:                                             
           1 'ABENDSPF.SOURCE.DDIO'                                       
           2 'TVSAMD.XPED2.SYMBOLIC'                                   
           3                                                                   
           4                                                                   
           5                                                                   
           6                                                                   
           7                                                                   
           8                                                                   
Processing options:                                Source browsing options:   
  Show report with XLS YES      (Yes or no)           Unit . . . . . VIO       
  Confirm delete  . .  NO       (Yes or no)           Blocking . . . 10       
  Show print setup  .  NO       (Yes or no)                                   
  Show source warning  YES      (Yes or no, used only for Abend-AID)           
  Language  . . . . .  ENGLISH                                                 
  Local Server SSID .           (Required for Viewing Remote DDIO files)       


Best Regards,

-Dalaly
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Dibakar
Advanced


Joined: 02 Dec 2002
Posts: 700
Topics: 63
Location: USA

PostPosted: Sat Sep 04, 2004 12:45 am    Post subject: Testing 'Post a reply' Reply with quote

I am getting subject line when I click on Post Reply. Testing to see what happens.
Back to top
View user's profile Send private message Send e-mail
Dibakar
Advanced


Joined: 02 Dec 2002
Posts: 700
Topics: 63
Location: USA

PostPosted: Sat Sep 04, 2004 12:46 am    Post subject: Test Passed Reply with quote

Great, I was not aware that we can give 'Subject' to our replies.
Back to top
View user's profile Send private message Send e-mail
Dibakar
Advanced


Joined: 02 Dec 2002
Posts: 700
Topics: 63
Location: USA

PostPosted: Wed Oct 20, 2004 1:55 pm    Post subject: Reply with quote

Hi,

I am also difficulty in doing back tracking, assembler program mainly.

From Abend Aid I got

Code:

The next sequential instruction to be executed in program DIB6820 was at
displacement 00000BD4.

        00000BBE  F888C136C16A  ZAP   310(9,R12),362(9,R12)
        00000BC4  D100C141C13E  MVN   321(1,R12),318(R12)
        00000BCA  94F0C13E      NI    318(R12),X'F0'
        00000BCE  FDB7C136C173  DP    310(12,R12),371(8,R12)
 NSI==> 00000BD4  FA31C136A41B  AP    310(4,R12),1051(2,R10)
        00000BDA  D100C138C139  MVN   312(1,R12),313(R12)
        00000BE0  FB22C136C17E  SP    310(3,R12),382(3,R12)
        00000BE6  FA22C17EC136  AP    382(3,R12),310(3,R12)
        00000BEC  58E0C034      L     R14,52(,R12)


Now I know that this is in para D200 which is called from several places by a 'BAL RE,D200'.

Now how can I get value of R14 at the time of abend.

I looked at some R14 values but they looked garbage.
Back to top
View user's profile Send private message Send e-mail
Dibakar
Advanced


Joined: 02 Dec 2002
Posts: 700
Topics: 63
Location: USA

PostPosted: Wed Oct 20, 2004 2:09 pm    Post subject: Reply with quote

I looked at mannual for BAL instruction and found that in 24 bit address, last three bytes of the register in first operand contain the address. Now it makes perfect sense.
Back to top
View user's profile Send private message Send e-mail
somu123
Beginner


Joined: 20 Sep 2005
Posts: 4
Topics: 1

PostPosted: Fri Oct 07, 2005 6:00 am    Post subject: Reply with quote

Hi,
I was also facing the same situation.Any ideas on this.

Thanks,
Somu Very Happy
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Fri Oct 07, 2005 7:17 am    Post subject: Reply with quote

Quote:

I was also facing the same situation.Any ideas on this.

somu123,

What exactly is the problem you are facing ?

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vak255
Intermediate


Joined: 10 Sep 2004
Posts: 384
Topics: 79

PostPosted: Thu Jul 05, 2007 2:58 pm    Post subject: Reply with quote

Dalaly/Kolusu,

Quote:

If you want to do this in a production environment you need to make sure your shop is set up for that because not all companies enable this option.


Is there any specific reason why Abend-Aid should not be enabled in production. I see most of the companies disable this option.
Back to top
View user's profile Send private message
vak255
Intermediate


Joined: 10 Sep 2004
Posts: 384
Topics: 79

PostPosted: Thu Jul 05, 2007 3:02 pm    Post subject: Reply with quote

I have the DDIO file in test region. I like to transmit this file to production, for some reason I could not XMIT this file ( may be because this is a VSAM file). Any help is greatly appreciated.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Problem Determination All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group