メインメニューを開く

メモリリーク英語:memory leak)とは、プログラムが確保したメモリが解放されない(解放を忘れ放置される)事をいう。

概要編集

メモリリークはプログラマーの単純なミスによるバグで発生することが多い。 C++の全盛期にはメモリリーク診断ソフトウェアが一大産業となった。Windows界隈ではIntel Parallel InspectorMicro Focus BoundsCheckerが有名である。

近年ではメモリの解放をコンピューター仮想マシンランタイム)に委ねるガベージコレクションが取り入れられており、メモリリークが起きにくくなっている。

だたし、ガベージコレクション仕様上の欠陥でメモリリークが発生することも多いのも事実である。 基本的に参照カウンター方式のガベージコレクションを搭載したものは欠陥品と思って間違いない。 これらの欠陥があったプログラミング言語およびランタイムとしてはObjective-CPHP(PHP5.3以降で解決している)が有名である。

関連項目編集

参考文献編集