Поделиться через


invalidGCHandleCookie MDA

Примечание.

Эта статья относится к .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.

Помощник по отладке управляемого кода (MDA) invalidGCHandleCookie активируется при попытке преобразования из недопустимого файла cookie IntPtr в GCHandle.

Симптомы

Неопределенное поведение, например нарушения прав доступа и повреждение памяти, при попытке использовать или получить GCHandle из IntPtr.

Причина

Файл cookie, вероятно, недопустим, поскольку изначально он не был создан из GCHandle, представляет GCHandle файл cookie, который уже освобожден, является файлом cookie GCHandle в другом домене приложения или был маршалирован в машинный код как но GCHandle передан обратно в среду CLR как объект IntPtr, где была предпринята попытка приведения.

Разрешение

Укажите допустимый файл cookie IntPtr для GCHandle.

Влияние на среду выполнения

Если этот MDA включен, отладчик больше не может отслеживать корни обратно в их объекты, поскольку значения файла cookie, переданные обратно, отличаются от значений, возвращаемых при отключенном MDA.

Выходные данные

Указывается значение недопустимого файла cookie IntPtr.

Настройка

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

См. также