RAD Studio
ContentsIndex
PreviousUpNext
CodeGuard Errors

CodeGuard reports four types of runtime errors.

Name 
Description 
Access errors result from improper memory management.
When CodeGuard detects accesses to freed memory blocks or deleted objects, it can identify where each block was allocated and deleted. Enable the Delay Free option using the CodeGuard Configuration dialog box to use this feature.
The following are types of access errors:

  • Access in freed memory
  • Access in uninitialized stack
  • Access in invalid stack

 

When a system exception occurs, CodeGuard reports the runtime error using information provided by the operating system. If possible, the CodeGuard log shows where your application caused the exception. CodeGuard does not trap or redirect the exception or otherwise interfere with normal program behavior.
The following exceptions illustrate how CodeGuard exception reporting:

  • General Protection Fault
  • Divide by zero

 

CodeGuard reports function calls that fail, as indicated by their return value.
In the following example, the close function is given an invalid file handle, which causes it to return a value indicating that it was unable to close a file.  
Resources are memory blocks (allocated with functions like malloc, GlobalAlloc) and object arrays, such as file handles, stream handles, modules, and items returned by new[].
The following runtime error examples illustrate how CodeGuard reports improper use of resources:

  • Bad parameter
  • Reference to freed resource
  • Resource type mismatch
  • Resource leaks
  • Resource from different RTL

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!