私は、VS 2005 C++プロジェクトにデバッグビルドとリリースビルドの両方を用意しています。私は次の4つのことを試みました:Visual Studio 2005 C++ランタイムの新規例外
- Visual Studioで実行可能なデバッグをビルドし、Visual Studioで実行します。
cd
をvstudio/debug
に書き込んだ後に、コマンドライン(Cygwin)経由で外部にビルドされた実行可能ファイル(1)を実行します。- Visual Studioで実行可能なリリースをビルドし、Visual Studioで実行します。
vstudio/release
にあるcd
の後に、コマンドライン(Cygwin)経由で外部(3)に組み込まれた実行可能ファイルを実行します。
最初の3つがすべて成功しました。プログラムは完了して実行されます。
しかし、4番目の実行時にクラッシュします。デバッグでは、原因はmalloc()
のオペレータnew()
の呼び出しであることが示されています。誰もが私が説明する3アウト・オブ・4症状につながるあらゆる問題を考えることができる場合
template<typename T> class Foo {
...
static void bar() {
...
T* ptr = new T();
...
}
...
}
、それははるかに高く評価されるだろう:関連するコンテキストは次のようになります。
エラーは何ですか? –