基本的な AddRef と Release を使用して参照カウントされる独自のスマート ポインター クラスがあります。
デバッグ中に、多くのオブジェクトが適切にリリースされていないことがわかります。どのオブジェクトが解放されていないかはわかりますが、それらがどの場所から割り当てられているかを見つけるのは困難です。
この問題に対処するための適切な設計パターンはありますか?
デバッグ ステートメントと ADDREF および RELEASE を配置し、 release が呼び出されたときに参照カウントを確認できます。場合によっては、1 を超える場合があります。これは、ポインターが削除されていないことを意味します。
shared_ptr const にブレークポイントを配置し始めると、何百回も呼び出され、メモリ リークを特定するのが難しくなります。
これらのリークの原因となっているいくつかの循環参照が作成されているようです。