Memory Access Violations
Memory access violations can be caused by many different things. To determine the cause, try the following:
- If you have C routines linked into the runtime, try debugging them.
If not, check for table overflow by compiling with the -Za option and running the program.
See the User's Guide page 5-25 for details about both options above.
- Look at the CHECK-USING configuration entry. If CHECK-USING =0 change to CHECK-USING=1. When set to "1" it you will receive an error message instead of a Memory access violation.
Another option is to use the ACUCOBOL debugger to run a file trace. To do this, type the following at the command line:
runcbl -dle xxx pgm-name [enter]At the debugger split screen type:
tf [enter] g [enter]
The results of your file trace will be directed to the file xxx. If the memory access violation occurred during an Input/Output, you may have a broken file. If the memory access violation occurred during loading, you may have a memory problem.
**FAX your file trace along with the above results to Acucorp Technical Support for further assistance.
Another cause can come from using the library routines C$TOUPPER AND C$TOLOWER first available in release 2.3 The calling sequence is:
CALL "C$xxxxx" using field-to-change VALUE field-length.
Note that if you do not include the word VALUE, then a pointer gets passed but the library routine treats is as a number. Therefore, large quantities of memory get converted to lower or upper case!
####
Acucorp, extend and ACUCOBOL are trademarks or registered trademarks of Acucorp, Inc. All rights reserved. All other trademarks are the property of their respective owners.

























