invalidGCHandleCookie MDA

invalidGCHandleCookie マネージ デバッグ アシスタント (MDA: Managed Debugging Assistant) は、無効な IntPtr Cookie から GCHandle への変換が試行されたときにアクティブ化されます。

症状

IntPtr から GCHandle を使用または取得しようとしたときに、アクセス違反やメモリ破損などの未定義の動作が発生します。

原因

Cookie が元来、 GCHandle から作成されていないか、既に解放された GCHandle であるか、異なるアプリケーション ドメインの GCHandle に対する Cookie であるか、またはGCHandle としてネイティブ コードにマーシャリングされたが、キャストが試行された IntPtr として CLR に返されたため、Cookieが無効になっている可能性があります。

解決策

GCHandle に有効な IntPtr Cookie を指定します。

ランタイムへの影響

この MDA を有効にすると、返される Cookie 値は MDA が無効のときに返される Cookie 値と異なるため、デバッガーはオブジェクトまでのルートをたどることができなくなります。

出力

無効な IntPtr Cookie 値が報告されます。

構成

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

参照

参照

FromIntPtr

GCHandle

概念

マネージ デバッグ アシスタントによるエラーの診断