This variable determines whether a new copy of a COBOL program being debugged is loaded from disk whenever the debugger is
active. By default, DEBUG_NEWCOPY is "True" so that you can continue to use the logical cancel and code caching feature while
the debugger is active.
Set DEBUG_NEWCOPY to "False" if you want to keep caching enabled and have the debugger use the copy of the program in the
cache instead of reading a new copy from disk. You must then do one of two things:
- Start the debugger before the first execution of the program in the current process
- In a transaction processing system, use the CICS command, CEMT SET PROGRAM(program_name) NEWCOPY, to load a new copy of the
program to be debugged.
The ACUCOBOL-GT debugger periodically reads source code from the object file on disk. When the program is cached (as the result
of a logical cancel), the object file is closed and could be replaced or deleted. For the debugger to function correctly,
it must keep the object file open and ensure that the object code in the disk file is identical to the code in memory. Therefore,
if the program has been cached (using LOGICAL_CANCELS and DYNAMIC_MEMORY_LIMIT), the debugger unloads the program from the
cache, reopens the object file, and reloads the object code from memory. See Memory Management
for more information.