invalidGCHandleCookie MDA
注意
本文專屬於 .NET Framework。 它不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。
當嘗試從無效的 IntPtr Cookie 轉換成 GCHandle 時,就會啟動 invalidGCHandleCookie
Managed 偵錯助理 (MDA)。
徵兆
未定義的行為,例如嘗試使用或擷取 IntPtr 的 GCHandle 時的存取違規與記憶體損毀。
原因
Cookie 可能無效,因為它原本不是從 GCHandle建立,代表 GCHandle 已經釋放的 ,是不同應用程式域中的 Cookie GCHandle ,或封送至原生程式代碼作為 GCHandle ,但會以 嘗試轉換的方式傳回 CLR IntPtr。
解決方法
為 GCHandle 指定有效的 IntPtr Cookie。
對執行階段的影響
啟用此 MDA 時,偵錯工具即不再能夠追蹤回其物件的根,因為傳回的 Cookie 值和未啟用 MDA 時傳回的 Cookie 值不同。
輸出
已報告無效的 IntPtr Cookie 值。
組態
<mdaConfig>
<assistants>
<invalidGCHandleCookie />
</assistants>
</mdaConfig>