When BOUNDS-CHECKER terminates the stack size is shown
as 0 bytes. Usually the stack used is shown as 2 bytes, and the
initial program size is blank. The report of allocated blocks not
freed may have strange addresses and sizes.
After loading a program, BOUNDS-CHECKER looks through
the debug data for the address of the symbol name "main" and sets a
trap on this address. It lets the program execute to this point,
then zeroes the stack and clears the 64K data area in extended
memory. If BOUNDS-CHECKER cannot find "main", none of this is done,
and so when the program terminates, the report is wrong.
Some reasons why "main" would not be found:
"main" is in an overlay.
"main" is in a module compiled without debug data.
There is a module named "main.c" or "main.cpp" as well as
a symbol named "main" so that BOUNDS-CHECKER does not
know where to stop.
Note: This problem will also occur using Borland 4.0 with overlays.
Borland moves the main code to another area and BCHK cannot
find it. This problem is fixed in BCHK 2.1>.