FunctionEnter3WithInfo, fonction
Notifie le profileur que le contrôle est passé à une fonction et fournit un handle qui peut être passé à la méthode ICorProfilerInfo3::GetFunctionEnter3Info pour extraire le frame de pile et les arguments de fonction.
void __stdcall FunctionEnter3WithInfo(
[in] FunctionIDOrClientID functionIDOrClientID,
[in] COR_PRF_ELT_INFO eltInfo);
Paramètres
functionIDOrClientID
[in] Identificateur de la fonction à laquelle le contrôle est passé.eltInfo
[in] Handle opaque qui représente des informations sur un frame de pile donné. Ce handle est valide uniquement pendant le rappel auquel il est passé.
Notes
La méthode de rappel FunctionEnter3WithInfo notifie le profileur que les fonctions sont appelées et lui permet d'utiliser la méthode ICorProfilerInfo3::GetFunctionEnter3Info pour inspecter des valeurs d'argument. Pour accéder aux informations d'argument, l'indicateur COR_PRF_ENABLE_FUNCTION_ARGS doit être défini. Le générateur de profils peut utiliser la méthode ICorProfilerInfo::SetEventMask pour définir les indicateurs d'événement, puis utiliser la méthode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo pour enregistrer votre implémentation de cette fonction.
La fonction FunctionEnter3WithInfo est un rappel ; vous devez l'implémenter. L'implémentation doit utiliser l'attribut de classe de stockage __declspec(naked).
Le moteur d'exécution n'enregistre aucun registre avant d'appeler cette fonction.
À l'entrée, vous devez enregistrer tous les registres que vous utilisez, y compris ceux de l'unité en virgule flottante.
À la sortie, vous devez restaurer la pile en dépilant tous les paramètres qui ont fait l'objet d'un push par son appelant.
L'implémentation de FunctionEnter3WithInfo ne doit pas bloquer, car cela diffèrerait le garbage collection. L'implémentation ne doit pas tenter de garbage collection, car la pile n'est peut-être pas dans un état de garbage collection convivial. En cas de tentative de garbage collection, le runtime procède à un blocage jusqu'à ce que FunctionEnter3WithInfo soit retourné.
La fonction FunctionEnter3WithInfo ne doit pas effectuer d'appels dans du code managé, ni générer de quelque manière que ce soit une allocation de mémoire managée.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : Corprof.idl
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Voir aussi
Référence
Autres ressources
Fonctions statiques globales du profilage
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Octobre 2010 |
Ajouté __stdcall à la syntaxe. |
Commentaires client. |