Метод ICorDebugManagedCallback2::MDANotification
Предоставляет уведомление о том, что при выполнении кода в отлаживаемом приложении обнаружен управляемый помощник по отладке (MDA).
Синтаксис
HRESULT MDANotification(
[in] ICorDebugController *pController,
[in] ICorDebugThread *pThread,
[in] ICorDebugMDA *pMDA
);
Параметры
pController
[in] Указатель на интерфейс ICorDebugController, который предоставляет доступ к процессу или домену приложения, в котором произошло MDA.
Отладчик не должен делать никаких предположений о том, является ли контроллер процессом или доменом приложения, хотя он всегда может запросить интерфейс для определения.
pThread
[in] Указатель на интерфейс ICorDebugThread, который предоставляет управляемый поток, в котором произошло событие отладки.
Если MDA произошло в неуправляемом потоке, значение будет иметь значение pThread
NULL.
Необходимо получить идентификатор потока операционной системы (ОС) из самого объекта MDA.
pMDA
[in] Указатель на интерфейс ICorDebugMDA , предоставляющий сведения о MDA.
Комментарии
MDA является эвристическим предупреждением и не требует явного действия отладчика, за исключением вызова ICorDebugController::Continue для возобновления выполнения отлаживаемого приложения.
Среда CLR может определить, какие mda активируются и какие данные находятся в любом заданном MDA в любой точке. Поэтому отладчики не должны создавать какие-либо функции, требующие определенных шаблонов MDA.
Mda могут быть поставлены в очередь и запущены вскоре после обнаружения MDA. Это может произойти, если среде выполнения необходимо подождать, пока она не достигнет безопасной точки для запуска MDA, а не запуска MDA при ее обнаружении. Это также означает, что среда выполнения может запускать несколько mda в одном наборе обратных вызовов в очереди (аналогично операции "присоединение" события).
Отладчик должен освободить ссылку ICorDebugMDA
на экземпляр сразу после возврата из обратного MDANotification
вызова, чтобы позволить среде CLR перезапускать память, потребляемую MDA. Освобождение экземпляра может повысить производительность, если срабатывает много mda.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с версии 2.0
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по