方法 : ネイティブ ランタイム チェックを使用する
Visual C++ では、ネイティブ runtime_checks を使用して、次のような一般的なランタイム エラーをキャッチできます。
スタック ポインターの破損
ローカル配列のオーバーラン
スタックの破損
初期化されていないローカル変数への依存性
短い変数への代入によるデータの消失
最適化 (/O) するビルドで /RTC を使用すると、コンパイラ エラーが発生します。 runtime_checks プラグマを最適化されたビルドに使用しても効果はありません。
ランタイム チェックが有効になっている状態のプログラムをデバッグすると、既定の動作では、ランタイム エラーの発生時にプログラムが停止し、デバッガーが起動されます。 この既定の動作は、任意のランタイム チェックで変更できます。 詳細については、「例外処理 (デバッグ)」を参照してください。
次に、デバッグ ビルドでネイティブ ランタイム チェックを有効にする方法と、ネイティブ ランタイム チェックの動作を変更する方法について説明します。
このセクションのその他のトピックでは、次の内容について説明します。
デバッグ ビルドでネイティブ ランタイム チェックを有効にするには
- /RTC オプションを使用して、C ランタイム ライブラリのデバッグ バージョン (/MDd など) とリンクします。
ネイティブ ランタイム チェックの動作を変更するには
- runtime_checks プラグマを使用します。