marshalCleanupError MDA
更新 : 2007 年 11 月
marshalCleanupError マネージ デバッグ アシスタント (MDA: Managed Debugging Assistant) は、ネイティブおよびマネージ コード境界の間でのデータ型のマーシャリングに使用した一時的な構造体とメモリをクリーンアップしようとしたときに、共通言語ランタイム (CLR: Common Language Runtime) でエラーが発生するとアクティブ化されます。
症状
ネイティブおよびマネージ コード遷移を行うとき、スレッド カルチャが復元されないなどのランタイム状態のとき、または SafeHandle クリーンアップでエラーが発生した場合に、メモリ リークが起こります。
原因
一時的な構造体のクリーンアップ中に、予期しないエラーが発生しました。
解決策
すべての SafeHandle デストラクタ、ファイナライザ、およびカスタム マーシャラの実装に、エラーがないかどうかを確認します。
ランタイムへの影響
この MDA は、CLR への影響はありません。
出力
クリーンアップ中にエラーが発生した操作を報告するメッセージです。
構成
<mdaConfig>
<assistants>
<marshalCleanupError enable="false" />
</assistants>
</mdaConfig>