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

How to know for which line causes SOC7


IBM Mainframe Forums -> ABENDS & Debugging
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
dipendra
Currently Banned

New User


Joined: 26 Mar 2007
Posts: 4
Location: chennai

PostPosted: Sat Mar 31, 2007 5:29 pm
Reply with quote

hi

i am ahving 1 problem . in any program there are many arithmetical operation and i got SOC7 so how can i know that for which line (or operation) the SOC7 comes. please Expalin me .
Back to top
View user's profile Send private message
William Thompson

Global Moderator


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

PostPosted: Sat Mar 31, 2007 5:52 pm
Reply with quote

Hi back,

Do you have a current compilelisting for the program?
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Sat Mar 31, 2007 6:44 pm
Reply with quote

Didn't your sysmsg give you the line#? If you're using an older OS you'll have to use the OFFSET addr in sysmsg.

Here's one way:

If you haven't used LIST as a compiler option, add LIST,NOOFF to the option list. Recompile pgm. Assuming there were no pgm changes since the abend, use the OFFSET by searching for it in the compiler listing:

do a "f MVC" then do a find using the OFFSET addr. This will point you to the assembler instruction that caused the 0C7. Then scan back up the page to find the offending verb. The COBOL stmt# will be shown to the left.

Another:

If you used OFFSET as a compiler option you use a similar approach to that above (no need to recompile). Since OFFSET doesn't list the assem instrs and their addresses you must find the closest COBOL stmt address that is less than (or equal to) the OFFSET addr in your sysmsg. Use the COBOL stmt line# to the left to find the offending COBOL stmt.

The advantage to the 1st approach is that when using COBOL stmts that execute compound arithmetic operations you can find the part of the compound stmt that is causing the problem. But you need basic assembler skills to understand the meaning of the instructions.
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 -> ABENDS & Debugging

 


Similar Topics
Topic Forum Replies
No new posts Write line by line from two files DFSORT/ICETOOL 7
No new posts Reading dataset in Python - New Line ... All Other Mainframe Topics 22
No new posts rewrite same SAY line CLIST & REXX 8
No new posts Merge files with a key and insert a b... DFSORT/ICETOOL 6
No new posts Repeat a DD line- comment and insert ... CA Products 3
Search our Forums:

Back to Top