2009-04-09 12 views

答えて

0

主な違いは、デバッグモードでは、デバッガで使用されるシンボル情報全体がプログラムとともに保存されるため、開発者がリリース前にアプリケーションをデバッグしたい場合したがって、任意のデバッガにアタッチしてください。

デバッグフォルダー内の.pdbファイルに気付いたことがあります。実行可能ファイルのサイズもかなり大きくなります。ただし、リリースモードでは、エンドユーザがアプリケーションを使用する予定であるため、デバッガのシンボル情報は省略され、アプリケーションシンボルを指定しないでください。

シンボルは、デバッガに提供される情報と考えることができます。どのようなローカル変数、どの機能、ブレークポイントが設定されているか、あらゆる種類の情報を理解して、現在実行されているコードの部分。

+0

これは間違っています - デバッグシンボルは、デバッグとリリースの両方で使用可能にすることができますモード。 – morechilli

+0

http://stackoverflow.com/questions/218226/visual-c-2008-release-build-contains-debug-information – morechilli

+0

私はそれを得ました。私は、プロジェクトの設定で利用可能なデフォルトの設定を考えることからさらに進んでいました。 –

6

が短い答えは、デバッグのために使用されるすべての情報を持っていますまた、速度や大きさに合わせて最適化される「リリース」モードで構築するコードであり、削除

0

右ええ、あなたもリリースモードでデバッグすることができます[: )]。それを行うための精巧なプロセスがあります。

ただし、リリースビルドの速度とパフォーマンスが最適化されています。また、Microsoftエンドユーザー使用許諾契約書には、クライアントシステムにデバッグファイルを展開できないことが記載されています。

http://www.codeproject.com/KB/debug/releasemode.aspx

5

違い:

  • デバッグデバッガアタッチメント
  • デバッグは、様々な最適化を許可しないようにするために有用なCILコードの間のNOP(ノーオペレーションCPU命令)を挿入:
    • インライン化(​​呼び出しのオーバーヘッドを減らすためにメソッドのコードを呼び出しの代わりに配置する)
    • ループアンローリング(ループコードを交換 - このようなに関しては - 繰り返しコードとループオーバーヘッド(ループ変数メンテナンス)を除去するために)

そして他の多くの。リリースはかなり高速ですが、実際のデバッグサポートはありません。デバッグモードでは、デバッグモードは次のとおりです。

関連する問題