インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド
オブジェクト・ファイルまたはプロジェクト・データベース (PDB) ファイルにすべてのデバッグ情報を生成するようにコンパイラーに指示します。
Linux* および OS X*: | -g |
Windows*: | /Zi /Z7 |
なし
オフ |
オブジェクト・ファイルまたは PDB ファイルにデバッグ情報を生成しません。 |
-g (Linux* および OS X*) と /Z7 (Windows*) は、オブジェクト・ファイルのサイズを大きくするシンボリック・デバッグ情報をオブジェクト・ファイルに生成するようにコンパイラーに指示します。 /Zi オプション (Windows*) は、PDB ファイルにシンボリック・デバッグ情報を生成するようにコンパイラーに指示します。
コンパイラーによって 1 つ、リンカーによって 1 つ、合わせて 2 つの PDB ファイルが作成されます。
vcx0.pdb。x は Visual C++* のバージョンを表します (例: vc100.pdb)。
このファイルには、個々の OBJ ファイルに関するすべてのデバッグ情報が格納されています。プロジェクトの makefile と同じディレクトリーに作成されます。このファイル名を変更する場合は、/Fd オプションを使用します。
executablename.pdb
このファイルには、.exe ファイルに関するすべてのデバッグ情報が格納されています。debug サブディレクトリーに作成されます。
.obj ファイルを作成するたびに、コンパイラーはデバッグ情報を vcx0.pdb に追加します。
リンカーは、プロジェクトの .exe ファイルに関するすべてのデバッグ情報を含む executablename.pdb を作成します。executablename.pdb ファイルには、vcx0.pdb に含まれる型情報だけでなく、関数プロトタイプを含む完全なデバッグ情報が含まれています。どちらの PDB ファイルも差分の更新が可能です。リンカーは、作成する .exe ファイルまたは .dll ファイルに .pdb ファイルへのパスを埋め込みます。
コンパイラーは、アセンブリー・ファイルへのデバッグ情報の生成はサポートしていません。これらのオプションを指定すると、生成されるオブジェクト・ファイルにはデバッグ情報が含まれますが、アセンブリー・ファイルには含まれません。
これらのオプションは、同じコマンドラインで O2 (またはそれ以上) が明示的に指定されていない限り、O2 をオフにして O0 (Linux* および OS X*) または Od (Windows*) をデフォルトにします。
Linux* および OS X* では、-g または -O0 オプションを指定すると -fno-omit-frame-pointer オプションが設定されます。Linux* では、最適化 (オプション -O2 以上) とデバッグ (オプション -g) を有効にしてコンパイルすると、デフォルトで -debug inline-debug-info オプションが有効になります。
-g コンパイラー・オプションを指定すると、DWARF バージョン 3 形式でデバッグ情報が生成されます。一部の解析ツールの古いバージョンでは、正しく処理されるように -gdwarf-2 オプションでアプリケーションをビルドする必要があります。
Windows*: [General (全般)] > [Debug Information Format (デバッグ情報の書式)]
Linux*: [General (全般)] > [Include Debug Information (デバッグ情報のインクルード)]
OS X*: [General (全般)] > [Generate Debug Information (デバッグ情報の生成)]
/Zi |
Linux* および OS X*: なし Windows*: /debug:full、/debug:all、/debug または /ZI |