Udostępnij za pośrednictwem


invalidGCHandleCookie MDA

Uwaga

Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.

Asystent invalidGCHandleCookie zarządzanego debugowania (MDA) jest aktywowany po próbie konwersji z nieprawidłowego IntPtr pliku cookie na.GCHandle

Objawy

Niezdefiniowane zachowanie, takie jak naruszenia dostępu i uszkodzenie pamięci podczas próby użycia lub pobrania GCHandle elementu z klasy IntPtr.

Przyczyna

Plik cookie jest prawdopodobnie nieprawidłowy, ponieważ nie został on pierwotnie utworzony na podstawie GCHandleelementu , reprezentuje GCHandle , który został już uwolniony, jest plikiem cookie w innej domenie aplikacji lub został przesłany do GCHandle kodu natywnego jako GCHandle ale przekazany z powrotem do CLR jako IntPtr, gdzie podjęto próbę rzutowania.

Rozwiązanie

Określ prawidłowy IntPtr plik cookie dla pliku GCHandle.

Wpływ na środowisko uruchomieniowe

Po włączeniu tej usługi MDA debuger nie może już śledzić katalogów głównych z powrotem do ich obiektów, ponieważ przekazane wartości plików cookie różnią się od tych zwracanych, gdy mdA nie jest włączona.

Wyjście

Zgłoszono nieprawidłową IntPtr wartość pliku cookie.

Konfigurowanie

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

Zobacz też