<目次>
(1) VisualStudioの「デバッグモード」と「リリースモード」の違い
(1-1) 両者の違い(概要)
(1-2) 両者の違い(生成物)
(1) VisualStudioの「デバッグモード」と「リリースモード」の違い
(1-1) 両者の違い(概要)
●デバッグモード
●リリースモード
Debug | Release | |
用途 | 開発用 | リリース用 |
最適化 | なし | あり |
性能 | 低 | 高 |
ブレークポイント | 全行に設定可 | 全行に設定不可 (一部は可能) |
(1-2) 両者の違い(生成物)
以下は、生成される代表的なファイルの概要です。この中では「.idb」は「Debugモード」でのみ生成されました。
(表2)
.pdb | ・「Program Database」の略 ・デバッガが使用するファイルで、ビルド時にソースコードから生成されます。 ・デバッグモード、リリースモード共に生成されます。 |
.idb | ・デバッグ時のみ生成されるファイルで、コンパイラの状態を保持しており、リビルドやコンパイルの処理を最小限に抑えるために使用します。 (例) 20個のcppファイルがあり、初回コンパイルで「.idb」が生成されます。以降、一部を変更して「リビルド」する際に、変更されていないファイルはコンパイルされません。このために「.idb」が使われます。 |
.obj | コンパイラが「.cpp」を元に作る中間ファイル。C++ではこの「.obj」ファイルから「.exe」やライブラリ「.dll」などを生成します。 「.;obj」のサイズは、デバッグモードよりも、リリースモードの方が遥かにサイズが大きい事が多いです。 デバッグ:147 KB これは、リリースモードではLTCG(最適化機能の1つ)がONになっており、コンパイラがその最適化に必要な情報を多く出力するためです。 |