問題タブ [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.

0 投票する
0 に答える
120 参照

dictionary - TDictionaryChangeNotification: ダブルフリー エラーを検出する方法はありますか?

double-free エラーがアクセス違反につながると思われます (後で同じプログラム内で)。

指定されたクラスにはジェネリック TDictionary が含まれており、FMyDict.OnValueNotify を使用して作成した後に ChangeNotification ハンドラを割り当てます。

Item.Free のコメントを外すと、AV は発生しなくなります。

しかし、AV は散発的に (プログラム内の数百回のループ反復に 1 回) 出現するため、ダブル フリーの状況があることを正確に証明することはできません。

私の最初のアイデアは、オブジェクトを解放する前に、オブジェクトに「マーカー」を設定することです。2 回目のフリーでは、このマーカーが設定されていることがわかりました。

または、ダブルフリーを検出するための別の「ベストプラクティス」はありますか?