問題タブ [double-free]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dictionary - TDictionaryChangeNotification: ダブルフリー エラーを検出する方法はありますか?
double-free エラーがアクセス違反につながると思われます (後で同じプログラム内で)。
指定されたクラスにはジェネリック TDictionary が含まれており、FMyDict.OnValueNotify を使用して作成した後に ChangeNotification ハンドラを割り当てます。
Item.Free のコメントを外すと、AV は発生しなくなります。
しかし、AV は散発的に (プログラム内の数百回のループ反復に 1 回) 出現するため、ダブル フリーの状況があることを正確に証明することはできません。
私の最初のアイデアは、オブジェクトを解放する前に、オブジェクトに「マーカー」を設定することです。2 回目のフリーでは、このマーカーが設定されていることがわかりました。
または、ダブルフリーを検出するための別の「ベストプラクティス」はありますか?