/Z7、/Zi、/ZI(调试信息)

/Z7、/Zi、/ZI(/Z{7|i|I})

Z7 .obj文件中生成调试信息(Debug Info),不生成.pdb文件
/Zi 调试信息(Debug Info)生成.pdb文件
/ZI 在/Zi的基础上,扩展了在代码调试中直接编辑代码,继续调试功能(VC++默认选项)

详细参考下文

/Z7、/Zi、/ZI (デバッグ情報の形式)

作成するプログラムに対して生成するデバッグ情報の種類を選択し、デバッグ情報をオブジェクト (.obj) ファイルに保存するのかプログラム データベース (PDB) に保存するのかを選択します。

構文

/Z{7|i|I}

解説

/Z7
デバッガーで使用される詳細なシンボリック デバッグ情報が含まれた .obj ファイルが作成されます。 シンボリック デバッグ情報には、変数や関数の名前と型、および行番号が含まれます。 .pdb ファイルは作成されません。
サードパーティのライブラリを配布する場合は、.pdb ファイルを持たないことによる利点があります。 ただし、プリコンパイル済みヘッダーの .obj ファイルは、リンク フェーズおよびデバッグで必要です。 .pch オブジェクト ファイルに型情報だけがある (コードはない) 場合は、/Yl (デバッグ ライブラリの PCH 参照の挿入) も指定してコンパイルする必要があります。
/Zi
プログラム データベース (PDB) が生成されます。PDB には、型情報とデバッガーが使うシンボリック デバッグ情報が取り込まれます。 シンボリック デバッグ情報には、変数や関数の名前と型、および行番号が含まれます。
/Zi は最適化に影響しません。 ただし、/Zi を指定すると /debug が暗黙に指定されます。詳細については、「/DEBUG (デバッグ情報の生成)」を参照してください。
型情報は、.obj ファイルではなく .pdb ファイルに配置されます。
/Gm (簡易リビルドの有効化) は /Zi と併用できますが、/Gm は、/Z7 を指定してコンパイルする場合は利用できません。
/Zi および /clr を指定してコンパイルする場合、DebuggableAttribute 属性はアセンブリ メタデータに配置されません。配置する場合はソース コードで指定する必要があります。 この属性は、アプリケーションの実行時パフォーマンスに影響します。 Debuggable 属性によるパフォーマンスへの影響とその対処方法の詳細については、「イメージのデバッグの簡略化」を参照してください。
/ZI
エディット コンティニュ機能をサポートする形式で、上のようなプログラム データベースを生成します。 エディット コンティニュのデバッグを使用する場合は、必ずこのオプションを使用してください。 ほとんどの最適化処理はエディット コンティニュと互換性がないため、/ZI を使用すると、コードの #pragma optimize ステートメントが無効になります。

/ZI を指定すると、コンパイルで /Gy (関数レベルのリンクの有効化) および /FC (診断時のソース コード ファイルの完全パス) が使用されます。

デバッグ情報の形式の参考リンク

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值