CodeGuard の概要
CodeGuard を使用した C++ アプリケーションのデバッグ:インデックス への移動
メモ: この機能は、従来の bcc32 コンパイラでのみ利用でき、現在の Clang 拡張 C++ コンパイラでは使用できません。
CodeGuard は、RAD Studio で開発された 32 ビット Windows C++ アプリケーションの実行時デバッグ機能を提供します。 CodeGuard は、構文規則に違反していないためにコンパイラでは検出されないエラーを通知します。 CodeGuard では、ランタイム ライブラリを追跡するほか、マルチスレッド アプリケーションを完全にサポートしています。
CodeGuard では以下の 2 つを主な対象としています:
- メモリおよびリソースの使用状況
- 関数呼び出しの検証
メモリおよびリソースの使用状況
CodeGuard では、メモリの誤った使用、不適切なメモリ割り当て/割り当て解除、無効なファイル ストリーム/ハンドル、ファイル ストリーム/ハンドルの不適切な使用に起因するリソース リークがないかどうかをチェックします。CodeGuard では、ポインタ逆参照とポインタ算術演算が正しいか確認します。既に解放されているメモリやリソースにプログラムでアクセスしようとした場合、CodeGuard はエラーを通知できます。
関数呼び出しの検証
CodeGuard では、関数の引数が正しいかどうかを確かめ、関数の戻り値で示されるとおりに関数の失敗を通知します。関数呼び出しで使用される Windows リソース ハンドルも検証します。