メモリをリークしているように見えるWindowsFormsアプリがあるので、RedgateのANTSメモリプロファイラーを使用して、疑わしいオブジェクトを調べ、それらがすでにFinalizerキューにあるオブジェクトによってのみ保持されていることを確認しました。素晴らしい、まさにファイナライザーキューとは何ですか?最良の定義を教えていただけますか?逸話的なアドバイスを教えてください。
また、ファイナライザキューのすべてのルートGCオブジェクトは、「caller」という名前のSystem.Windows.Forms.Control+ThreadMethodEntryオブジェクトのインスタンスです。マルチスレッドUIの相互作用に関与しているように見えますが、それ以上のことはよくわかりません。私の明らかな怠惰と認められた無知を許してください、しかしこれらのリソースはすべてベンダーのコンポーネントの中に埋もれています。私はこれらの問題についてベンダーと話し合っていますが、会話をスピードアップするために何らかの方向性が必要です。ThreadMethodEntryの最も有用な定義も教えていただけますか?逸話的なアドバイスはありますか?
また、ファイナライザーキューにあるこれらのオブジェクトについても心配する必要がありますか?
更新:このRedGateの記事は役に立ちました。