C#コードにストレスをかけ、メモリ不足の状態で実行したときに発生するクラッシュを追跡しようとしています。ただし、場合によっては、OutOfMemoryExceptionを取得する代わりに、プログラムがクラッシュして終了することがあります。これは通常、バッファのオーバーランによるメモリの破損、またはスタックオーバーフロー(または破損)が原因で発生します。
それで、ヒープの整合性をチェックする方法はありますか、それともスレッドに残っているスタックの量をチェックする方法はありますか?
速度の理由で安全でないコードをたくさん使用しているので、どこかにコードが破損している可能性があります。残念ながら、破損が発生した後、クラッシュはランダムな間隔で発生します。C#がバッファオーバーランを検出するとアプリを閉じることは理解していますが、強制的にチェックを行う方法はありますか?
ありがとう。