デバッグしているMSVC++6.0のコードがあります。何らかの理由で、動的に割り当てられたメモリを削除しようとしているこの特定の時点で、メモリが壊れ、「ユーザーブレークポイントがコードから呼び出されました」というポップアップメッセージボックスが表示されます。その後、逆アセンブリウィンドウがポップアップし、見る
*memory address* int 3
奇妙なことに、私がこのようなアセンブリ命令を呼び出しているコードには、NOWHEREがあります(asm int 3はx86のハードウェアブレークコマンドだと思いますか?)。
何がこれを引き起こしている可能性がありますか?
編集:回答:私のコードは配列の「終わりを離れて」いたが、NoMan'sLandフェンスと呼ばれる0xFDFDFDFDを使用したVisualStudioデバッグによってマークされた場所でのみ..オフバイバイとも呼ばれると思う1つのエラー..この配列は、エラーが発生したときにメモリを解放していたポイントとは無関係でした。それは見つけるのを難しくしました..:(