Windows 2008 サーバー、64 ビットで 32 ビット アプリを実行すると、ヒープでメモリ破損が発生しました。破損したヒープ ブロックを確認すると、ヒープ ブロックのメタデータは破損していないことがわかりましたが、ユーザーがアクセスできる部分は破損していました。 (私の分析によると、少なくとも最初の 4 バイトは破損していました)。
ご存知のように、ヒープの破損、メモリのオーバーラン/アンダーラン、ワイルド ポインタの使用、ヒープ ハンドラの不一致、初期化されていないメモリの使用などにつながる可能性はたくさんあります。
ただし、メタデータとユーザーがアクセスできる部分の最初の 4 バイトは隣接する部分であるためです。メモリ オーバーラン/アンダーランの可能性は非常に低いと思います。メモリのオーバーランまたはアンダーランの場合、メタデータも破損する可能性が非常に高いためです。
私の理解が正しいかどうかわかりませんか?誰でもここでヒントを教えてもらえますか?