Udostępnij za pośrednictwem


MDAInfo — Struktura

Zawiera szczegółowe informacje o Event_MDAFired zdarzeniu, które wyzwala tworzenie zarządzanego asystenta debugowania (MDA).

Składnia

typedef struct _MDAInfo {  
    LPCWSTR  lpMDACaption;  
    LPCWSTR  lpMDAMessage  
} MDAInfo;  

Elementy członkowskie

Członek Opis
lpMDACaption Tytuł bieżącego rozwiązania MDA. Tytuł opisuje rodzaj błędu, który wyzwolił Event_MDAFired zdarzenie.
lpMDAMessage Komunikat wyjściowy dostarczony przez bieżące rozwiązanie MDA.

Uwagi

Zarządzane asystenty debugowania (MDA) to pomoce debugowania, które działają w połączeniu ze środowiskiem uruchomieniowym języka wspólnego (CLR) w celu wykonywania zadań, takich jak identyfikowanie nieprawidłowych warunków w aplikatorze wykonywania środowiska uruchomieniowego lub usuwanie dodatkowych informacji o stanie aparatu. MdA generuje komunikaty XML dotyczące zdarzeń, które w przeciwnym razie są trudne do pułapki. Są one szczególnie przydatne do debugowania przejść między zarządzanym i niezarządzany kodem.

Środowisko uruchomieniowe wykonuje następujące kroki, gdy zostanie wyzwolone zdarzenie, które wyzwala tworzenie rozwiązania MDA:

  • Jeśli host nie zarejestrował wystąpienia IActionOnCLREvent przez wywołanie klasy ICLROnEventManager::RegisterActionOnEvent , aby otrzymywać powiadomienia o Event_MDAFired zdarzeniu, środowisko uruchomieniowe będzie kontynuowane zgodnie z jego domyślnym zachowaniem, które nie jest hostowane.

  • Jeśli host zarejestrował procedurę obsługi dla tego zdarzenia, środowisko uruchomieniowe sprawdza, czy debuger jest dołączony do procesu. Jeśli tak jest, środowisko uruchomieniowe dzieli się na debuger. Po kontynuowaniu debugera wywołuje on hosta. Jeśli debuger nie jest dołączony, środowisko uruchomieniowe wywołuje IActionOnCLREvent::OnEvent i przekazuje wskaźnik do MDAInfo wystąpienia jako parametru data .

Host może aktywować usługi MDA i otrzymywać powiadomienia po aktywowaniu usługi MDA. Dzięki temu host może zastąpić domyślne zachowanie i przerwać zarządzany wątek, który wywołał zdarzenie, aby zapobiec uszkodzeniu stanu procesu. Aby uzyskać więcej informacji na temat korzystania z usługi MDA, zobacz Diagnozowanie błędów za pomocą asystentów debugowania zarządzanego.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MSCorEE.idl

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

.NET Framework wersje: dostępne od wersji 2.0

Zobacz też