[C++ コンパイラ|デバッグ]

提供: RAD Studio
移動先: 案内検索

[C++ コンパイラ] への移動


プロジェクト > オプション > ビルド > C++ コンパイラ > デバッグ

このダイアログ ボックスを使用して、C++ コンパイラのデバッグ オプションと CodeGuard オプションを設定します。

オプション 説明

[ターゲット]、[適用...]、[保存...]

[ターゲット]オプション」を参照。

共通項目

[<プロジェクト名> のプロジェクト オプション]ページの共通項目」を参照。


[デバッグ]オプション 説明 コンパイラ スイッチ
bcc32 bcc32c bcc64 bcciosarm64 bccaarm

[デバッグ情報]


[ソース レベルのデバッグ情報を生成する]

.OBJ ファイルにデバッグ情報を含めます。 コンパイラはこのオプションをリンカに渡すので、TDS デバッグ ファイル ファイルにもデバッグ情報が入ります。 このオプションでは C++ のインライン関数が通常の関数として扱われるので、デバッグがしやすくなります。 統合デバッガを使用するには、デバッグ情報が必要です。

このオプションをオフにすると、より大きなオブジェクト ファイルのリンクと作成ができます。このオプションは実行速度には影響しませんが、コンパイルおよびリンクの時間が長くなります。

[デバッグ行番号情報]をオンにした場合は、[C++ コンパイラ|最適化]ページにある[Pentium 命令スケジューリングの有効化]オプションが無効になっていることを確認してください。これらのオプションが設定されていると、ソース コードは生成されたマシン命令と正確に一致しないので、コードのステップ実行が複雑になります。デフォルト値は[false]です。

-v

-v

-g

-g

-g

スプリット DWARF の利用

Windows 64 ビット Clang 拡張 C++ コンパイラによって生成されるデバッグ情報を保有するスプリット DWARF オブジェクト ファイル。 詳細については、「スプリット DWARF」を参照してください。

メモ: スプリット DWARF は、Win 64 ビットでのみサポートされています。

[DWO 出力ディレクトリ、Windows 64 ビット プラットフォームのみ]

フォルダをブラウズし、DWO 出力ディレクトリを選択します。DWO 出力ディレクトリは、絶対パスでなければなりません。

N/A

N/A

-enable-split-dwarf
AND
-split-dwarf-file
PLUS -objcopy ユーティリティ

N/A

N/A

N/A

[デバッグ行番号情報]

オブジェクトとオブジェクト マップ ファイルに自動的に行番号を入れます。行番号は統合デバッガで使用されます。

[デバッグ情報]オプションをオンにすると行番号情報が自動的に生成されますが、このオプションをオフにして、[デバッグ行番号情報]オプションをオンにすると、生成されるデバッグ情報のサイズが縮小されます。この設定でもステップ実行は行えますが、データ項目を監視したり、インスペクトすることはできません。

行番号を入れるとオブジェクトファイルとマップファイルのサイズは大きくなりますが、実行可能プログラムの速度には影響しません。

[デバッグ行番号情報]をオンにした場合は、[C++ コンパイラ|最適化]ページにある[Pentium 命令スケジューリングの有効化]オプションが無効になっていることを確認してください。これらのオプションが設定されていると、ソース コードは生成されたマシン命令と正確に一致しないので、コードのステップ実行が複雑になります。デフォルト値は[false]です。

-y

プラットフォーム未サポート

プラットフォーム未サポート

プラットフォーム未サポート

プラットフォーム未サポート

[CodeGuard を有効にする]

以下の指定のとおり、CodeGuard オプションを設定します。このオプションを[false]に設定すると、以下の子オプションが[true]に設定されていても CodeGuard は無効になります。デフォルト値は[false]です。

[メンバ関数のエントリ時に 'this' ポインタを監視]
(-vGt)

メンバ関数、コンストラクタ、およびデストラクタに特別なエピローグを作成します。CodeGuard は、C++ コードのあらゆるメソッドへのエントリで this ポインタを検証します。このオプションは、メソッド自体が this ポインタにアクセスしない場合でも、削除されたオブジェクトまたは無効なオブジェクトのメソッドの呼び出しを報告するので便利です。デフォルト値は[false]です。

[グローバル データおよびスタック データへのアクセスを監視]
(-vGd)

CodeGuard が高速な検索を行えるように、データとスタックのレイアウト記述子を作成します。CodeGuard はこの記述子を使用して、ローカル、グローバル、および静的なデータ領域に対するオーバーランや無効なポインタを報告します。このオプションは必ず使用してください。デフォルト値は[false]です。

[インライン ポインタ アクセスを監視]
(-vGc)

コード内のすべてのアクセスを検証する呼び出しを生成します。このオプションは、ほとんどすべてのポインタ エラーを識別します。一般に、プログラムの実行は 1/5~1/10 程度に遅くなります。これらの CodeGuard オプションを選択すると、実行時のパフォーマンスに大きな影響が出る可能性があります。下向き矢印をクリックして、選択可能な値(True、False)から選択します。デフォルト値は[false]です。

[CodeGuard を有効にする]
-vG

[メンバ関数のエントリ時に 'this' ポインタを監視]
-vGt

[グローバル データおよびスタック データへのアクセスを監視]
-vGd

[インライン ポインタ アクセスを監視]
-vGc

プラットフォーム未サポート

プラットフォーム未サポート

プラットフォーム未サポート

プラットフォーム未サポート

[インライン関数を展開する]

C++ インライン関数を展開します。インライン関数の展開を制御するために、C++ コードの場合、[デバッグ情報]オプションの動作は多少異なります。インライン関数の展開が有効でない場合、インライン関数は他の関数のように生成され呼び出されます。デフォルト値は[true]です。

-vi

プラットフォーム未サポート

N/A

N/A

N/A

[CodeView4 互換のデバッグ情報を生成する]

CodeView4 互換デバッグ情報を生成します。デフォルト値は[false]です。

-v4

プラットフォーム未サポート

プラットフォーム未サポート

プラットフォーム未サポート

プラットフォーム未サポート

メモ: デバッグとインライン展開の両方をオンにしたい場合は、オプション[デバッグ情報][インライン関数を展開する]を使用してください。

関連項目