(Builder: Project > Options for Selected Files... > Runtime-Error tab > Memory checking drop-down list)
Memory checking is not available for use on all systems. It is not supported for use with an RTOS with non-standard memory allocation primitives.
Memory checking drop-down list | |
---|---|
Item | Description |
Default |
Maintains the previous or inherited setting. Originally, the default is None. |
None |
Disengages memory checking. |
Allocation |
Checks for the following memory errors. Equivalent to the -check=alloc build-time command line option. It also enables the debugger's findleaks command. See
"Finding memory leaks". To support this allocation memory checking the program is linked with an instrumented version of the malloc() library, usually located in the library libdbmem.a. If the program attempts to free memory not previously allocated, this error is reported: "Attempt to free something not allocated" If the program attempts to free memory already free, sometimes the previous error message is reported here. Otherwise, this error is reported: "Attempt to free something already free" If the program attempts to allocate memory after various other errors occurred, this error report appears: "Malloc internals (free list?) corrupted" |
Memory |
Generates an error message when the program tries to access memory that is not yet allocated. Equivalent to the -check=memory build-time command line option. Compiling a source file with this level of checking will cause the generated code to be both larger and slower. You may wish to link the application with Allocation checking and only compile a few selected modules with Memory checking. This level of checking displays the appropriate Allocation error messages, above, in addition to the following: "Attempt to read/write memory not yet allocated" |