方法: ネイティブ ランタイム チェックを使用する

適用対象:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

Visual Studio C++ プロジェクトでは、ネイティブ runtime_checks を使用して、次のような一般的なランタイム エラーをキャッチできます。

  • スタック ポインターの破損

  • ローカル配列のオーバーラン

  • スタックの破損

  • 初期化されていないローカル変数への依存性

  • 短い変数への代入によるデータの消失

    最適化された ( /RTC ) ビルドで /Oを使用すると、コンパイラ エラーが発生します。 runtime_checks プラグマを最適化されたビルドに使用しても効果はありません。

    ランタイム チェックが有効になっている状態のプログラムをデバッグすると、既定の動作では、ランタイム エラーの発生時にプログラムが停止し、デバッガーが起動されます。 この既定の動作は、任意のランタイム チェックで変更できます。 詳細については、「デバッガーでの例外の管理」を参照してください。

    次の手順で、デバッグ ビルドでネイティブ ランタイム チェックを有効にする方法と、ネイティブ ランタイム チェックの動作を変更する方法を説明します。

    このセクションのその他のトピックでは、次の内容について説明します。

  • C ランタイム ライブラリによるネイティブ ランタイム チェックのカスタマイズ

デバッグ ビルドでネイティブ ランタイム チェックを有効にするには

  • /RTC オプションを使用して、C ランタイム ライブラリのデバッグ バージョン (/MDd など) とリンクします。

ネイティブ ランタイム チェックの動作を変更するには

  • runtime_checks プラグマを使用します。

関連項目