---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
We are in the process of migrating from COBOL V4.2 to V6.2. We are
using most if not all of the options that relate to testing (e.g. PC,
RULES, NC, SSR, etc.) when compiling for test environments.
Additionally we have NOTEST(DWARF) set for both testing and production
compile options. Programmers noticed in CICS testing regions that with
CEDF ON, when you hit the PROCEDURE DIVISION USING statement you execute
a CICS GETMAIN for every 01 level in the LINKAGE SECTION. First I
assumed that this was due to option PARMCHECK. In the manuals it says
that PARMCHECK adds a string of hex values at the end of COBOL
WORKING-STORAGE. I assumed that it also did the same for each 01 level
in the LINKAGE SECTION, which logically made sense that the compiler
would acquire another piece of storage to copy the 01 level to and
append the string of hex values. So, that when the called program
exited, COBOL would be testing the trailing storage for the string of
hex values to determine if the program had stepped on that storage,
before doing a CICS FREEMAIN. Well you know what happens when you
ASSUME? We went through the list of testing associated compile
options. Removing them one at a time, compiling, new copying, and
testing in the CICS region. With no success, I finally tried removing
NOTEST(DWARF). Eureka, no more CICS GETMAINS for each of the LINKAGE
SECTION 01 levels. Not what I was expecting. None of the documentation
suggested that NOTEST(DWARF) would affect runtime. It should only come
into play when the program ABENDs. Has anybody else noticed this
behavior? This does affect the time for each transaction a great deal.
Maybe we can get Mr. COBOL "Tom Ross" to shed some light on this?
- COBOL V5+ Larry Slaten
- Re: COBOL V5+ Larry Slaten
- COBOL V5+ Tom Ross
