I am debugging one assembler program.It is getting SOC4 after some records went to SNAP.When I m tried debugging it using IBM debug tool
It is not showing SOC4 for the very first record.I tried with running the job with one record also.it is not showing SOC4 in Debug screen instead it is starting from first again.
now i need to make my job to fail with SOC4 when first record encountered abend.Is there any parameters used for that??
Joined: 06 Jun 2008 Posts: 8211 Location: Dubuque, Iowa, USA
Since an S0C4 abend is a storage problem, it is quite possible that the program you are working to debug requires X records (where X is 10, 100, 1000, 317 ... who knows the exact number?) to be processed before the storage violation occurs. Expecting that the program will abend on the first record is, in my opinion, a completely false and unrealistic expectation. You would be far better off using an actual dump taken when the S0C4 occurred for debugging -- although that may be completely beyond your skills to do.
And what does your topic title mean? It is not a very good title for what you are asking.
Why dont you just alanyze the dump produced? It should clearly show you the failing instruction, and if its in your program, you should be able to understand. If the interrupt is not in your program, it takes some experience to find out, but often traces back to Read, Write or other macros, that you are responsible to use correct.
Joined: 23 Nov 2006 Posts: 19270 Location: Inside the Matrix
Does any of the code use an array? Sometimes an array "end" is not detcted and executable code or a saved address is "walked on" causing something unpredictable to happen (abend, data corruption, etc).