先頭へ戻る

メモリ破壊 | Programming Place Plus 用語集

トップページ用語集

先頭へ戻る

名称

解説

プログラムバグにより、本来書き換えるべきでないメモリ領域の一部分を書き換えてしまうことです。

「メモリ破壊」という言葉の印象と違って、メモリというコンピュータ部品が物理的に壊れることではなく、メモリに記録されているデータを誤って上書きすることによって、データが壊れてしまう(正しいデータを失ってしまう)ことを意味しています。たとえば、バッファオーバーフロースタックオーバーフロー二重解放ワイルドポインタの使用、アドレス計算のミスといったバグによって引き起こされます。

プログラムは、メモリ上にデータを記録し、参照しながら実行を進めるため、データがいつの間にか書き換えられてしまっていると、その後の正常な動作に何かしらの影響を与えると思われます。どこがどのように書き換えられたかによって、その後に起こる現象は異なるものになるため、メモリ破壊に気付くことすら困難なケースもあります(偶然にも、元のデータと同じデータで上書きするメモリ破壊もあり得ます)。すぐに実行時エラー例外などで異常終了するかもしれませんが、正しくないデータに書き換えられたまま、一見して正常な動作を続けてしまう可能性もあります。動作が止まらなければ問題ないということではないことに注意しなければなりません。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー