CodeGuard provides runtime debugging for C++ applications developed with RAD Studio. CodeGuard reports errors that are not caught by the compiler because they do not violate syntax rules. CodeGuard tracks runtime libraries with full support for multithreaded applications.
CodeGuard provides two principal types of coverage:
- Memory and Resource Use
- Function Call Validation
Memory and Resource Use
CodeGuard checks for faulty memory use, improper memory allocation or deallocation, invalid file streams or handles, and resource leaks caused by improper use of file streams or handles. CodeGuard verifies pointer dereferencing and pointer arithmetic. CodeGuard can report an error if your program tries to access memory or resources that have already been released.
Function Call Validation
CodeGuard verifies function arguments and reports function failure as indicated by the return value of the function. It validates Windows resource handles used in function calls.