Pinpoint Abends SOC7/SOC5,SOC4 etc
Select messages from
# through # FAQ
[/[Print]\]

MVSFORUMS.com -> Problem Determination

#1: Pinpoint Abends SOC7/SOC5,SOC4 etc Author: ST PostPosted: Sat Jan 04, 2003 5:28 pm
    —
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

#2:  Author: kolusuLocation: San Jose PostPosted: Sat Jan 04, 2003 6:23 pm
    —
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

#3:  Author: ST PostPosted: Sat Jan 04, 2003 6:44 pm
    —
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

#4:  Author: kolusuLocation: San Jose PostPosted: Sat Jan 04, 2003 6:49 pm
    —
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

#5:  Author: dalaly PostPosted: Sat Jan 04, 2003 7:03 pm
    —
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

#6: Testing 'Post a reply' Author: DibakarLocation: USA PostPosted: Sat Sep 04, 2004 12:45 am
    —
I am getting subject line when I click on Post Reply. Testing to see what happens.

#7: Test Passed Author: DibakarLocation: USA PostPosted: Sat Sep 04, 2004 12:46 am
    —
Great, I was not aware that we can give 'Subject' to our replies.

#8:  Author: DibakarLocation: USA PostPosted: Wed Oct 20, 2004 1:55 pm
    —
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.

#9:  Author: DibakarLocation: USA PostPosted: Wed Oct 20, 2004 2:09 pm
    —
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.

#10:  Author: somu123 PostPosted: Fri Oct 07, 2005 6:00 am
    —
Hi,
I was also facing the same situation.Any ideas on this.

Thanks,
Somu Very Happy

#11:  Author: kolusuLocation: San Jose PostPosted: Fri Oct 07, 2005 7:17 am
    —
Quote:

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

somu123,

What exactly is the problem you are facing ?

Kolusu

#12:  Author: vak255 PostPosted: Thu Jul 05, 2007 2:58 pm
    —
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.

#13:  Author: vak255 PostPosted: Thu Jul 05, 2007 3:02 pm
    —
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.



MVSFORUMS.com -> Problem Determination


output generated using printer-friendly topic mod. All times are GMT - 5 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group