/DEBUG
(デバッグ情報の生成)
リンカー オプションは /DEBUG
、実行可能ファイルのデバッグ情報ファイルを作成します。
構文
/DEBUG
[:
{FASTLINK
||FULL
NONE
}]
解説
このオプションを /DEBUG
使用すると、リンクされたオブジェクト ファイルとライブラリ ファイルのデバッグ情報がプログラム データベース (PDB) ファイルに格納されます。 それにより、プログラムの後続のビルド中、PDB が更新されます。
デバッグ用に作成された実行可能ファイル (EXE または DLL ファイル) には、対応する PDB の名前とパスが含まれています。 デバッガーでは、組み込まれた名前が読み取られ、プログラムのデバッグ時に PDB が使用されます。 リンカーは、プログラムの基本名と拡張機能 .pdb
を使用してプログラム データベースに名前を付け、作成されたパスを埋め込みます。 この既定値をオーバーライドするには、オプションを /PDB
設定し、別のファイル名を指定します。
この /DEBUG:FASTLINK
オプションは、Visual Studio 2017 以降で使用できます。 このオプションでは、完全コピーを作成する代わりに、実行可能ファイルのビルドに使用されるオブジェクト ファイルとライブラリ内のデバッグ情報にインデックスを作成する制限付き PDB が生成されます。 この制限付き PDB は、バイナリとそのライブラリがビルドされたコンピューターからのデバッグにのみ使用できます。 バイナリを他の場所に展開する場合は、ビルド コンピューターからリモートでデバッグできますが、テスト コンピューターでは直接デバッグできません。 Visual Studio 2019 以降、 /DEBUG:FULL
リンク時間は大幅に改善されており /DEBUG:FASTLINK
、常に /DEBUG:FULL
. /DEBUG:FASTLINK
ビルド時間が大幅に改善されなくなり、デバッグ エクスペリエンス/DEBUG:FULL
が遅くなるため、このオプションは推奨されなくなりました。
PDB は /DEBUG:FASTLINK
完全な PDB に変換できます。この PDB は、ローカル デバッグ用にテスト マシンにデプロイできます。 Visual Studio で、以下の 説明に従って [プロパティ ページ] ダイアログを使用して、プロジェクトまたはソリューションの完全な PDB を作成します。 開発者コマンド プロンプトでは、このツールを mspdbcmf.exe
使用して完全な PDB を作成できます。
このオプションでは /DEBUG:FULL
、個々のコンパイル製品 (オブジェクト ファイルとライブラリ) からすべてのプライベート シンボル情報が 1 つの PDB に移動され、リンクの最も時間のかかる部分になる可能性があります。 ただし、完全な PDB を使用することで、実行可能ファイルが展開されているときなど、他のビルド製品が利用できないとき、実行可能ファイルをデバッグできます。
この /DEBUG:NONE
オプションでは PDB は生成されません。
/DEBUG
余分な引数を指定しない場合の指定/DEBUG:FULL
は、..
コンパイラの /Z7
(C7 互換) オプションを指定すると、コンパイラはデバッグ情報をオブジェクト (OBJ) ファイルに残します。 (Program Database) コンパイラ オプションを /Zi
使用して、デバッグ情報を OBJ ファイルの PDB に格納することもできます。 リンカーは、オブジェクトの PDB を最初に OBJ ファイルに書き込まれた絶対パスで検索し、次に OBJ ファイルを含むディレクトリ内で検索します。 リンカーに対してオブジェクトの PDB ファイル名または場所を指定することはできません。
/INCREMENTAL
は、指定された場合 /DEBUG
に暗黙的に指定されます。
/DEBUG
では、オプションの既定値/OPT
を前後REF
にICF
NOREF
NOICF
変更するため、元の既定値が必要な場合は、オプションを明示的に指定するか/OPT:ICF
後に指定/OPT:REF
する/DEBUG
必要があります。
デバッグ情報を含む EXE または DLL を作成することはできません。 デバッグ情報は常に OBJ または PDB ファイルに配置されます。
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[リンカー>デバッグ] プロパティ ページを選択します。
[デバッグ情報の生成] プロパティを変更して、PDB の生成を有効または無効にします。 このプロパティは、Visual Studio 2017 以降で既定で有効になります
/DEBUG:FASTLINK
。増分ビルドごとに完全な PDB 生成を有効にするには
/DEBUG:FULL
、[プログラムデータベース ファイル全体の生成] プロパティを変更します。
このリンカーをコードから設定するには
- 以下を参照してください。GenerateDebugInformation
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示