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


marshalCleanupError MDA

Управляемый помощник по отладке (MDA) marshalCleanupError активируется в случае, если среда CLR обнаруживает ошибку при попытке очистить временные структуры и память, используемую для маршалинга типов данных между исходным и управляемым кодом.

Признаки

Утечка памяти происходит при выполнении передач между исходным и управляемым кодом, состояние среды выполнения (например, региональные параметры потока) не восстановлено, или возникает ошибка при очистке SafeHandle.

Причина

Возникла непредвиденная ошибка при очистке временных структур.

Решение

Следует проверить все реализации SafeHandle деструктора, метода завершения и настраиваемого маршалера на предмет ошибок.

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

Данный помощник по отладке управляемого кода не оказывает влияния на среду CLR.

Output

Сообщение о сбое операции во время выполнения очистки.

Конфигурация

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

См. также

Ссылки

MarshalAsAttribute

Основные понятия

Диагностика ошибок посредством управляемых помощников по отладке

Маршалинг взаимодействия

Другие ресурсы

Взаимодействие