ヒープ破損

ヒープ破損として現れるメモリ破損について説明し、これらの問題を解決するための情報を提供します。

PL/I 内のヒープ破損は、データ型が BASED または CONTROLLED の変数に対して発生します。BASED の項目については、プログラマが STATIC または AUTOMATIC の記憶域に基づいてアドレスを割り当てることができ、意図せずにスタックまたは静的記憶域の破損を引き起こす可能性があるため、ソース コードの分析が必要です。

ヒープ破損は、発生した時点よりも大幅に遅れて検出されることがあるため、完全に解決するのは困難です。Micro Focus では、破損がどこで発生したかを特定するのに役立つ COBOL および PL/I サポート用のツールを提供しています。ただし、問題を解決するには、メモリ モデルとアプリケーション コードの知識が必要です。