私はquestionを投稿して、ポインタのアクセシビリティを検証しました。結論は、IsBadReadPtrを使用してポインタをチェックするか、SEHを使用して例外を捕捉するか(どちらも使用しないようにして、アプリケーションをデバッグすることが好ましいが、ここでは問題ではない)。SEH、アクセス違反とスタックガードページ
IsBadReadPtrは、他の理由の中でも特にポインタを読み込もうとしていて、何の例外もキャッチしないために悪いと言われています。それはcatch a stack guard page exceptionかもしれません、そして、それはスタックを拡大したはずのメモリマネージャに達するのを防ぎます。
SEHを使用してEXCEPTION_ACCESS_VIOLATION例外のみをキャッチすると、同じ問題が発生しますか?
もう1つ:SEHを使用することの意義は何ですか? Thisの記事では、「コンパイラはSEHで保護されたコードでフロー解析を実行できません。 __tryブロックの中で関数を呼び出すのはどうですか?コンパイラは呼び出される関数をまったく最適化しないでしょうか?
OSS-Securityメーリングリストの[Qualys Security Advisory - The Stack Clash](http://www.openwall.com/lists/oss-security/2017/06/19/1)を参照してください。それはいくつかのきちんとしたトリックを示し、ガードページをかなり害しています。彼らがそれを使っていくつのOSを驚かせたかは驚くべきことです。 Windowsが影響を受けるかどうか疑問に思う。 – jww