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


Помощник по отладке управляемого кода raceOnRCWCleanup

Помощник по отладке управляемого кода (MDA) raceOnRCWCleanup активируется, когда среда выполнения CLR обнаруживает, что при высвобождении оболочки Вызываемая оболочка времени выполнения (RCW) с помощью такой команды, как метод Marshal.ReleaseComObject, эта оболочка используется.

Признаки

Нарушение прав доступа или повреждение памяти во время или после высвобождения вызываемой оболочки времени выполнения с помощью метода ReleaseComObject или сходного метода.

Причина

Вызываемая оболочка времени выполнения используется в другом потоке или в стеке высвобождения потоков. Нельзя высвободить вызываемую оболочку времени выполнения в процессе ее использования.

Решение

Не следует высвобождать вызываемую оболочку времени выполнения, используемую в текущем потоке, либо в других потоках.

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

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

Output

Сообщение с описанием ошибки.

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

<mdaConfig>
  <assistants>
    <raceOnRCWCleanup/>
  </assistants>
</mdaConfig>

См. также

Ссылки

MarshalAsAttribute

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

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

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

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

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