marshalCleanupError MDA
注意
本文專屬於 .NET Framework。 它不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。
marshalCleanupError
當 Common Language Runtime (CLR) 嘗試清除用於封送原生與 Managed 程式代碼界限之間數據類型的暫存結構和記憶體時,就會啟動 Managed 偵錯助理 (MDA)。
徵兆
進行本機與 Managed 程式碼轉換時發生記憶體流失、執行緒文化特性之類的執行階段狀態未還原,或是 SafeHandle 清除發生錯誤。
原因
清除暫存結構時,發生非預期的錯誤。
解決方法
檢閱所有 SafeHandle 解構函式、完成項和自定義封送器實作是否有錯誤。
對執行階段的影響
此 MDA 對 CLR 沒有影響。
輸出
出現一則訊息,提報在清除期間失敗的作業。
組態
<mdaConfig>
<assistants>
<marshalCleanupError />
</assistants>
</mdaConfig>