View previous topic :: View next topic |
Author |
Message |
ST Beginner
Joined: 04 Jan 2003 Posts: 24 Topics: 12
|
Posted: Sat Jan 04, 2003 5:28 pm Post subject: Pinpoint Abends SOC7/SOC5,SOC4 etc |
|
|
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 |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
|
Posted: Sat Jan 04, 2003 6:23 pm Post subject: |
|
|
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 |
|
|
ST Beginner
Joined: 04 Jan 2003 Posts: 24 Topics: 12
|
Posted: Sat Jan 04, 2003 6:44 pm Post subject: |
|
|
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 |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
|
Posted: Sat Jan 04, 2003 6:49 pm Post subject: |
|
|
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 |
|
|
dalaly Beginner
Joined: 29 Nov 2002 Posts: 56 Topics: 23
|
Posted: Sat Jan 04, 2003 7:03 pm Post subject: |
|
|
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 |
|
|
Dibakar Advanced
Joined: 02 Dec 2002 Posts: 700 Topics: 63 Location: USA
|
Posted: Sat Sep 04, 2004 12:45 am Post subject: Testing 'Post a reply' |
|
|
I am getting subject line when I click on Post Reply. Testing to see what happens. |
|
Back to top |
|
|
Dibakar Advanced
Joined: 02 Dec 2002 Posts: 700 Topics: 63 Location: USA
|
Posted: Sat Sep 04, 2004 12:46 am Post subject: Test Passed |
|
|
Great, I was not aware that we can give 'Subject' to our replies. |
|
Back to top |
|
|
Dibakar Advanced
Joined: 02 Dec 2002 Posts: 700 Topics: 63 Location: USA
|
Posted: Wed Oct 20, 2004 1:55 pm Post subject: |
|
|
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 |
|
|
Dibakar Advanced
Joined: 02 Dec 2002 Posts: 700 Topics: 63 Location: USA
|
Posted: Wed Oct 20, 2004 2:09 pm Post subject: |
|
|
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 |
|
|
somu123 Beginner
Joined: 20 Sep 2005 Posts: 4 Topics: 1
|
Posted: Fri Oct 07, 2005 6:00 am Post subject: |
|
|
Hi,
I was also facing the same situation.Any ideas on this.
Thanks,
Somu |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
|
Posted: Fri Oct 07, 2005 7:17 am Post subject: |
|
|
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 |
|
|
vak255 Intermediate
Joined: 10 Sep 2004 Posts: 384 Topics: 79
|
Posted: Thu Jul 05, 2007 2:58 pm Post subject: |
|
|
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 |
|
|
vak255 Intermediate
Joined: 10 Sep 2004 Posts: 384 Topics: 79
|
Posted: Thu Jul 05, 2007 3:02 pm Post subject: |
|
|
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 |
|
|
|
|