次の方法で共有


方法 : リリース ビルドをデバッグする

この記事では、アプリケーションのリリース ビルドをデバッグできるように設定するコンパイラとリンカーのスイッチについて説明します。

Visual Studio 2022 バージョン 17.14 以降では、最適化されたコードの速度を維持しながら、最適化されたコードを最適化されていない状態でコンパイルされたかのようにデバッグできる、より優れたエクスペリエンスが提供されます。 詳細については、「C++ 動的デバッグ (プレビュー)を参照してください。

リリース ビルドをデバッグするには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [C/C++] ノードをクリックします。 [デバッグ情報の形式][C7 互換 (/Z7)] または [プログラム データベース (/Zi)] に設定します。

  3. [リンカー] を展開し、[全般] ノードをクリックします。 [インクリメンタル リンクを有効にする][いいえ (/INCREMENTAL:NO)] に変更します。

  4. [ リンカー] で、[ デバッグ ] ノードを選択します。 [デバッグ情報を作成][はい (/DEBUG)] に設定します。

  5. [ リンカー] で、[ 最適化 ] ノードを選択します。 参照No (/OPT:NOREF) に設定し、COMDAT フォールディングNo (/OPT:NOICF) に有効にします。

  6. これでリリース ビルド アプリケーションをデバッグできます。 問題を見つけるには、失敗の発生箇所が見つかるまでコードをステップ実行し (あるいは、Just-In-Time デバッグを使用し)、間違ったパラメーターまたはコードを判断します。

    あるアプリケーションがデバッグ ビルドで動作するが、リリース ビルドで失敗する場合、コンパイラ最適化の 1 つがソース コードで欠陥をさらしている可能性があります。 問題を分離するため、問題を引き起こしているファイルと最適化が見つかるまで、ソース コード ファイルごとに選択した最適化を無効にします。 (このプロセスを早めるには、ファイルを 2 つのグループに分割し、1 つのグループで最適化を無効にし、グループ内で問題が見つかったら、問題のあるファイルが分離されるまで、分割を続けます)

    /RTC を使用して、デバッグ ビルドでこのようなバグを公開します。

    詳しくは、「コードの最適化」をご覧ください。

関連項目

リリース ビルドの問題の解決