When BOUNDS-CHECKER terminates the stack size is shown as 0 bytes.



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>.

Old KB# 12278
Comment List
Related Discussions