共用方式為


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>

另請參閱