/DEBUG (デバッグ情報の生成)

リンカー オプションは /DEBUG 、実行可能ファイルのデバッグ情報ファイルを作成します。

構文

/DEBUG[:{FASTLINK||FULLNONE}]

解説

このオプションを /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を前後REFICFNOREFNOICF変更するため、元の既定値が必要な場合は、オプションを明示的に指定するか/OPT:ICF後に指定/OPT:REFする/DEBUG必要があります。

デバッグ情報を含む EXE または DLL を作成することはできません。 デバッグ情報は常に OBJ または PDB ファイルに配置されます。

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [リンカー>デバッグ] プロパティ ページを選択します。

  3. [デバッグ情報の生成] プロパティを変更して、PDB の生成を有効または無効にします。 このプロパティは、Visual Studio 2017 以降で既定で有効になります /DEBUG:FASTLINK

  4. 増分ビルドごとに完全な PDB 生成を有効にするには/DEBUG:FULL、[プログラムデータベース ファイル全体の生成] プロパティを変更します。

このリンカーをコードから設定するには

  1. 以下を参照してください。GenerateDebugInformation

関連項目

MSVC リンカーのリファレンス
MSVC リンカー オプション