共用方式為


invalidGCHandleCookie MDA

注意

本文專屬於 .NET Framework。 它不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。

當嘗試從無效的 IntPtr Cookie 轉換成 GCHandle 時,就會啟動 invalidGCHandleCookie Managed 偵錯助理 (MDA)。

徵兆

未定義的行為,例如嘗試使用或擷取 IntPtrGCHandle 時的存取違規與記憶體損毀。

原因

Cookie 可能無效,因為它原本不是從 GCHandle建立,代表 GCHandle 已經釋放的 ,是不同應用程式域中的 Cookie GCHandle ,或封送至原生程式代碼作為 GCHandle ,但會以 嘗試轉換的方式傳回 CLR IntPtr

解決方法

GCHandle 指定有效的 IntPtr Cookie。

對執行階段的影響

啟用此 MDA 時,偵錯工具即不再能夠追蹤回其物件的根,因為傳回的 Cookie 值和未啟用 MDA 時傳回的 Cookie 值不同。

輸出

已報告無效的 IntPtr Cookie 值。

組態

<mdaConfig>
  <assistants>
    <invalidGCHandleCookie />
  </assistants>
</mdaConfig>

另請參閱