インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
オブジェクト (.obj) ファイルまたはプロジェクト・データベース (PDB) ファイルにすべてのデバッグ情報を生成するようにコンパイラーに指示します。
Linux* および macOS*: | オプション g を参照してください。 |
Windows*: | /Zi /Z7 /ZI |
なし
オフ |
デバッグ情報を生成しません。 |
オプション /Z7 は、デバッガーで使用するシンボリック・デバッグ情報をオブジェクト (.obj) ファイルに生成するようにコンパイラーに指示します。.pdb ファイルは生成されません。
オプション /ZI と /Zi は同じです。
/Zi オプションは、デバッガーで使用するシンボリック・デバッグ情報をプログラム・データベース (PDB) ファイルに生成するようにコンパイラーに指示します。.pdb ファイルには型情報が含まれますが、.obj には含まれないため、オブジェクト・ファイルは /Z7 オプションのものよりも小さくなります。
/Zi オプションを指定すると、2 つの PDF ファイルが生成されます。
コンパイラーにより、プログラム・データベース project.pdb が生成されます。プロジェクトなしでファイルをコンパイルすると、コンパイラーは vcx0.pdb という名前のデータベースを生成します。ここで、x は Visual C++* のメジャーバージョンを表します (例: vc140.pdb)。
このファイルは、プロジェクトの makefile と同じディレクトリーに生成され、個々のオブジェクト・ファイルに関するすべてのデバッグ情報を含みます。このファイル名を変更する場合は、/Fd オプションを使用します。
リンカーにより、プログラム・データベース executablename.pdb が生成されます。
このファイルは、debug サブディレクトリーに生成され、.exe ファイルに関するすべてのデバッグ情報が含まれます。vcx0.pdb に含まれる型情報だけでなく、関数プロトタイプを含む完全なデバッグ情報が含まれます。
どちらの PDB ファイルも差分の更新が可能です。リンカーは、生成する .exe ファイルまたは .dll ファイルに .pdb ファイルへのパスを埋め込みます。
コンパイラーは、アセンブリー・ファイルへのデバッグ情報の生成はサポートしていません。これらのオプションを指定すると、生成されるオブジェクト・ファイルにはデバッグ情報が含まれますが、アセンブリー・ファイルには含まれません。
これらのオプションは、同じコマンドラインで /O2 (またはそれ以上) が明示的に指定されていない限り、/O2 をオフにして /Od をデフォルトにします。
/Z7、/Zi、および /ZI オプションの詳細は、Microsoft* のドキュメントを参照してください。
Visual Studio*: [General (全般)] > [Generate Debug Information (デバッグ情報の生成)]
Eclipse*: なし
Xcode*: なし
Linux*: -g
Windows*: なし