Windows Web Server 2008 R2 x64 で次のシグネチャを使用して、バッファ オーバーフロー例外を引き起こすアプリケーションを構築しました。
問題の署名:
問題イベント名: BEX
アプリケーション名: AlgorithmEvaluation.exe
アプリケーションのバージョン: 1.0.0.0
アプリケーションのタイムスタンプ: 4f7c6063
障害モジュール名: clr.dll
障害モジュールのバージョン: 4.0.30319.1
障害モジュールのタイムスタンプ: 4ba1d9ef
例外オフセット: 002b5b8c
例外コード: c0000409
例外データ: 00000000
OS バージョン: 6.1.7600.2.0.0.1296.17
ロケール ID: 1033
追加情報 1: 5044
追加情報 2: 50442b9f233457091c25e076784708c8
追加情報 3: 3eea
追加情報 4: 3eeac65aee1d9241f0a9b0ca3bae03d6
このアプリケーションは C# で記述され、(C++/CLI で記述された) .NET dll を呼び出します。これにより、ネイティブ C++ dll がラップされます。x86 C++ dll のソース コードがないため、他のすべてのコードを x86 としてビルドするように設定しました。C# アプリケーションは、Microsoft の CCR を使用してマルチスレッド化されており、SQL Server 2008 Express データベースに対して読み書きを行います。
MSDNのこれらの指示に従って、C++/CLI プロジェクトを TSAWARE に設定しました。これによると、私の C# プロジェクトは既定で既に TSAWARE になっているはずです (問題がある場合は、リモート デスクトップを使用して Web サーバー マシンにアクセスしています)。 . このテクネットの記事も読みました。MSDNの提案に従って DEP をオフにすることを検討しましたが、これによりさらに悪いことが起こるのではないかと懸念しています。
このアプリケーションは、Windows 7 Home x64 を実行している私のラップトップでは問題を引き起こしません。
残念ながら、ラップトップで妥当な時間内にこれを実行するためのハードウェアがありません。誰か考えがありますか?ありがとう