[CodeGuard 構成]

提供: Appmethod Topics
移動先: 案内検索

[ツール]メニュー への移動


ツール > CodeGuard 構成

[CodeGuard 構成]ダイアログ ボックスを使用すると、CodeGuard 実行時デバッガの動作を指定できます。 このダイアログ ボックスは、製品のインストール ディレクトリに含まれている cgconfig.exe ユーティリティを実行して起動することもできます。 [CodeGuard 構成]ダイアログ ボックスで CodeGuard の設定を変更すると、プロジェクト ファイルと同じ名前およびディレクトリの .cgi 構成ファイルが生成されます。

メモ: CodeGuard が利用可能なのは、C++ プロジェクトだけです。
項目 説明

[有効](CodeGuard)

CodeGuard を有効または無効にします。

[スタック充填の頻度]

CodeGuard が、実行時スタックの非初期化領域を固有のバイト パターンで充填する頻度を指定します。 値:

  • -1 = 充填しない。
  • 0 = CodeGuard が扱う実行時関数が呼び出された後(毎回)。
  • n [0...15] = CodeGuard が扱う実行時関数が 2^n 回呼び出された後。 たとえば、n が 1 の場合、実行時関数が 2 回呼び出されるたび(1 回おき)にスタックが充填されます。

[統計]

関数およびリソースの使用統計データを報告します。

[リソース リーク]

アプリケーション終了後に検出されたリソース リークを報告します。

[OutputDebugString に送る]

OutputDebugString 関数を使用して、CodeGuard のメッセージを外部のデバッガに送信します。

[ログ ファイルの追記]

エラー ログを既存のログに追記します。 このオプションが無効の場合、CodeGuard は既存のエラー ログを上書きします。

[繰り返しエラーの記録]

繰り返し発生するエラーを関数ごとに報告します。

[エラー メッセージ件数の最大値]

報告されるエラーの数を制限します。 指定できる最大値は 65535 です。

[有効]([エラー メッセージ ボックス])

エラー メッセージ ボックスを有効にします。 Appmethod の外部で CodeGuard が有効なアプリケーションを実行したときに、実行時エラーが発生すると、エラー メッセージ ボックスが表示されます。

[キャプション]

タイトル バーに表示するテキストを指定します。

[メッセージ]

表示するエラー メッセージを指定します。

[デバッグ情報の読み取り]

実行時エラーが報告されたときに、プロジェクトのデバッグ情報を使用してソース行の位置を指し示せるように、CodeGuard を有効にします。

[ソース パス]

実行ファイルとは異なる場所にソース コードがある場合に、パスを指定します(パスが複数の場合は、セミコロンで区切ります)。 CodeGuard は、はじめに自身のデバッグ ソース パスを検索してから、(IDEで実行中の場合)IDE のデバッグ ソース パスを検索します。

[リソース オプション]

[リソース オプション]ページを使用すると、CodeGuard がさまざまなタイプのリソースを扱う方法を指定できます。

項目 説明

[リソース]

CodeGuard が扱うことのできるリソースのタイプが一覧表示されます。
[memory block]malloc 関数および free 関数が管理するメモリ。
[object]new 演算子および delete 演算子が管理するメモリ。
[object array]new[] 演算子および delete[] 演算子が管理するメモリ。
[file handle]open 関数および close 関数が管理するファイル。
[file stream]fopen 関数および fclose 関数が管理するファイル。
[pipe stream]_popen 関数および _pclose 関数が管理するコマンド プロセッサのパイプ。
[directory stream]opendir 関数および closedir 関数が管理するディレクトリ。

[追跡を行う]

選択されたリソースの追跡を有効にします。 追跡を無効にすると、メモリの使用量が小さくなり、実行速度が速くなります。

[リソース リークの追跡]

割り当て解除されていないリソース割り当てを報告します。 プログラムを終了する前にファイル ハンドルの解放に失敗した場合などに、リークが発生する可能性があります。

[無効なハンドル/リソースの報告]

関数の引数で不正に使用されたリソースを報告します。

[解放されたリソースの追跡]

指定されたリソースが割り当て解除された後にも追跡します。 [解放されたリソースの追跡]オプションをオンにすると、CodeGuard はいったん解放されたリソースそれぞれにマークを付けて、Windows や実行時ライブラリがそのリソースを再利用できないようにします。
スタック メモリ割り当てのようなリソースは、遅延リリースのキューに入れることはできません。

[追跡用キューの長さ (オブジェクト単位)]

遅延リリースのキューに入れられるオブジェクトの数を指定します。 設定できる最大値は 65535 オブジェクトです。

[メモリ ブロックの最大値 (バイト単位)]

CodeGuard が遅延キューに格納できるメモリ ブロックの最大サイズを指定します。 設定できる最大値は 65535 バイトです。

[関数オプション]

[関数オプション]ページを使用すると、CodeGuard がさまざまなタイプの関数を扱う方法を指定できます。

項目 説明

[関数]

CodeGuard が追跡できる関数が一覧表示されます。

[追跡を無効とする]

選択された関数の追跡を無効にします。

[メモリ参照エラー]

関数がポインタを使用して不正なメモリを参照したときに、実行時エラーを報告します。

[呼び出しの記録]

選択された関数が呼び出されるたびに報告します。

[警告]

アプリケーションが、バッファの最大サイズを超えてメモリにアクセスしている可能性があるときに報告します。
警告は、次の実効時ライブラリ関数でのみ報告されます。
strncmpstrnicmpstrncmpi_fstrncmp_fstrnicmpmemcmpmemicmp_fmemcmp_fmemicmpfnmergefnsplitgetcurdir

[戻り値のエラーの確認]

選択された関数がエラーを示す値を返したときに報告します。

[無効なハンドル/リソースの確認]

選択された関数のパラメータに、ハンドルまたはリソース識別子がある場合、それが適切に割り当てられ、現在有効なものであるか検証します。

[デフォルト値の設定]

[デフォルト値の設定]ダイアログ ボックスが表示されます。このダイアログ ボックスでは、関数オプションのデフォルト値を確認したり設定できます。

[デフォルト値に戻す]

関数オプションのデフォルト値を選択された関数に適用します。

[無視するモジュール]

[無視するモジュール]ページを使用すると、エラーが発生しても CodeGuard にスキップさせるモジュールを指定できます。

関連項目