다음을 통해 공유


marshalCleanupError MDA

CLR(공용 언어 런타임)에서 원시 및 관리 코드 경계 간 데이터 형식을 마샬링하는 데 사용되는 메모리와 임시 구조를 정리하는 중 오류가 발견되면 marshalCleanupError MDA(관리 디버깅 도우미)가 활성화됩니다.

증상

원시 및 관리 코드 전환을 만들 때 메모리 누수가 발생하거나 스레드 문화권 같은 런타임 상태가 복원되지 않거나 SafeHandle 정리에서 오류가 발생합니다.

원인

임시 구조를 정리하는 중 예기치 못한 오류가 발생했습니다.

해결 방법

오류에 대한 SafeHandle 소멸자, 종료자 및 사용자 정의 마샬러 구현을 모두 검토합니다.

런타임 효과

이 MDA는 CLR에 아무런 영향을 주지 않습니다.

Output

정리 중 실패한 작업을 보고하는 메시지입니다.

구성

<mdaConfig>
  <assistants>
    <marshalCleanupError enable="false" />
  </assistants>
</mdaConfig>

참고 항목

참조

MarshalAsAttribute

개념

관리 디버깅 도우미를 사용하여 오류 진단

Interop 마샬링

기타 리소스

상호 운용성