Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fournit une notification indiquant que l’exécution du code a rencontré un assistant de débogage managé (MDA) dans l’application en cours de débogage.
Syntaxe
HRESULT MDANotification(
[in] ICorDebugController *pController,
[in] ICorDebugThread *pThread,
[in] ICorDebugMDA *pMDA
);
Paramètres
pController [in] Pointeur vers une interface ICorDebugController qui expose le processus ou le domaine d’application dans lequel le MDA s’est produit.
Un débogueur ne doit pas faire d’hypothèses sur la question de savoir si le contrôleur est un processus ou un domaine d’application, bien qu’il puisse toujours interroger l’interface pour effectuer une détermination.
pThread [in] Pointeur vers une interface ICorDebugThread qui expose le thread managé sur lequel l’événement de débogage s’est produit.
Si le MDA s’est produit sur un thread non managé, la valeur de pThread cette propriété est null.
Vous devez obtenir l’ID de thread du système d’exploitation à partir de l’objet MDA lui-même.
pMDA [in] Pointeur vers une interface ICorDebugMDA qui expose les informations MDA.
Remarques
Un MDA est un avertissement heuristique et ne nécessite aucune action de débogueur explicite, sauf pour appeler ICorDebugController ::Continuer à reprendre l’exécution de l’application en cours de débogage.
Le Common Language Runtime (CLR) peut déterminer quels MDA sont déclenchés et quelles données se trouvent dans n’importe quel MDA donné à n’importe quel moment. Par conséquent, les débogueurs ne doivent pas générer de fonctionnalités nécessitant des modèles MDA spécifiques.
Les mdAs peuvent être mis en file d’attente et déclenchés peu après la rencontre de l’authentification multifacteur. Cela peut se produire si le runtime doit attendre jusqu’à ce qu’il atteigne un point sûr pour déclencher le MDA, au lieu de déclencher le MDA lorsqu’il le rencontre. Cela signifie également que le runtime peut déclencher un certain nombre d’mdAs dans un seul ensemble de rappels mis en file d’attente (comme une opération d’événement « attach »).
Un débogueur doit libérer la référence à une ICorDebugMDA instance immédiatement après le MDANotification retour du rappel pour permettre au CLR de recycler la mémoire consommée par un MDA. La libération de l’instance peut améliorer les performances si de nombreux MDAs se déclenchent.
Spécifications
Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.
En-tête: CorDebug.idl, CorDebug.h
Bibliothèque: CorGuids.lib
Versions de .NET : Disponible depuis .NET Framework 2.0