私はひどい MSXML 構文解析コードを受け継いでいます (悲しいことに、書き直す時間がありません)。このコードは、元の作成者が手動の COM 参照カウントを誤用したか (常に涙で終わるようです)、COM スマート ポインターを使用していたが間違って使用したため、リークが発生した COM インターフェイス/BSTR リークでいっぱいです。
コード内のリークの多くを修正しましたが、CoUninitialize() を呼び出したときに msxml3.dll がアンロードされず (すべてのインターフェイスがなくなった場合はアンロードされるはずです)、より多くのメモリが使用されていることがわかりました。このコードが実行された後の予想よりも。
現在、手作業で発見できる限界に達しており、この種のリークを特定できるデバッグ ソリューションを探しています。私は過去に umdh を使用して、従来のリークを見つけるのに効果的でしたが、これは COM リークにはあまり役に立たないようです。誰でも良いアプローチを推奨できますか?