Aracılığıyla paylaş


invalidGCHandleCookie MDA

Not

Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.

Geçersiz invalidGCHandleCookie bir tanımlama bilgisinden IntPtr bir tanımlama bilgisine GCHandle dönüştürme denendiğinde yönetilen hata ayıklama yardımcısı (MDA) etkinleştirilir.

Belirtiler

'yi kullanmaya veya bir 'den IntPtralmaya GCHandle çalışırken erişim ihlalleri ve bellek bozulması gibi tanımsız davranışlar.

Neden

Tanımlama bilgisi büyük olasılıkla geçersizdir çünkü ilk olarak bir GCHandle'den oluşturulmamıştır, zaten serbest bırakılmış olan bir'i GCHandle temsil eder, farklı bir uygulama etki alanındaki bir GCHandle tanımlama bilgisidir veya yerel kod olarak GCHandle yerel koda göre sıralanmıştır, ancak clr'ye IntPtrbir atama denenmiştir.

Çözüm

için GCHandlegeçerli IntPtr bir tanımlama bilgisi belirtin.

Çalışma Zamanı üzerindeki etkisi

Bu MDA etkinleştirildiğinde, geri geçirilen tanımlama bilgisi değerleri MDA etkinleştirilmediğinde döndürülen değerlerden farklı olduğundan hata ayıklayıcı artık kökleri nesnelerine kadar izleyemez.

Çıktı

Geçersiz IntPtr tanımlama bilgisi değeri bildirilir.

Yapılandırma

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

Ayrıca bkz.