DkmClrModuleInstance.InterpretManagedMethod(DkmClrMethodId, ReadOnlyCollection<DkmClrType>, ReadOnlyCollection<DkmClrType>, DkmILInterpreterValue, ReadOnlyCollection<DkmILInterpreterValue>, Int32, DkmILInterpreterOptions, String) Méthode

Définition

Simule l’exécution d’une méthode sur un objet en interprétant le code MSIL de la méthode. Le résultat de la méthode est retourné à l’appelant. Toutefois, contrairement à une évaluation de fonction, dans laquelle la méthode est réellement exécutée dans la cible, l’interprétation d’une méthode n’exécute pas réellement la méthode, mais à la place, elle simule simplement le comportement de la méthode. Étant donné que la méthode ne s’exécute jamais réellement, tous les effets secondaires résultant de l’exécution de la méthode sont ignorés une fois l’interprétation de la méthode terminée, laissant le processus cible dans un état identique à celui de l’appel avant l’appel.

Contrainte d’emplacement : l’API doit être appelée à partir d’un composant d’analyse (au niveau du composant < 100 000).

Cette API a été introduite dans Visual Studio 12 RTM (DkmApiVersion. VS12RTM).

public:
 Microsoft::VisualStudio::Debugger::Clr::DkmILInterpreterValue ^ InterpretManagedMethod(Microsoft::VisualStudio::Debugger::Clr::DkmClrMethodId Method, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::Clr::DkmClrType ^> ^ GenericTypeParameters, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::Clr::DkmClrType ^> ^ GenericMethodParameters, Microsoft::VisualStudio::Debugger::Clr::DkmILInterpreterValue ^ ThisParameter, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::Clr::DkmILInterpreterValue ^> ^ Parameters, int MaxInstructionCount, Microsoft::VisualStudio::Debugger::Clr::DkmILInterpreterOptions Options, [Runtime::InteropServices::Out] System::String ^ % ExceptionType);
public Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterValue InterpretManagedMethod (Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId Method, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Clr.DkmClrType> GenericTypeParameters, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Clr.DkmClrType> GenericMethodParameters, Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterValue ThisParameter, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterValue> Parameters, int MaxInstructionCount, Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterOptions Options, out string ExceptionType);
member this.InterpretManagedMethod : Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Clr.DkmClrType> * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Clr.DkmClrType> * Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterValue * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterValue> * int * Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterOptions * string -> Microsoft.VisualStudio.Debugger.Clr.DkmILInterpreterValue
Public Function InterpretManagedMethod (Method As DkmClrMethodId, GenericTypeParameters As ReadOnlyCollection(Of DkmClrType), GenericMethodParameters As ReadOnlyCollection(Of DkmClrType), ThisParameter As DkmILInterpreterValue, Parameters As ReadOnlyCollection(Of DkmILInterpreterValue), MaxInstructionCount As Integer, Options As DkmILInterpreterOptions, ByRef ExceptionType As String) As DkmILInterpreterValue

Paramètres

Method
DkmClrMethodId

Dans Méthode à interpréter. Cette fonction ne prend pas en charge l’interprétation de certains types de méthodes, y compris, mais sans s’y limiter, les méthodes qui utilisent des paramètres ref ou out : les méthodes dont l’implémentation appelle du code natif via P/Invoke, COM Interop ou d’autres moyens.

GenericTypeParameters
ReadOnlyCollection<DkmClrType>

[In, facultatif] Si la méthode appartient à une classe générique, spécifie les instanciations des paramètres génériques du type.

GenericMethodParameters
ReadOnlyCollection<DkmClrType>

[In, facultatif] Si la méthode est générique, spécifie les instanciations des paramètres génériques de la méthode.

ThisParameter
DkmILInterpreterValue

[In, facultatif] Si la méthode à interpréter est non statique, spécifie l’instance d’objet non null sur laquelle la méthode doit être appelée. Si la méthode à interpréter est un constructeur de classe, il peut s’agir d’une valeur null ou non null. Si ce paramètre a la valeur NULL sur un constructeur de classe, nous allons créer virtuellement un nouvel objet et interpréter le constructeur. Si ce paramètre est non null pour un constructeur, nous allons interpréter l’appel au constructeur sur l’objet existant.

Parameters
ReadOnlyCollection<DkmILInterpreterValue>

[In, facultatif] Paramètres à passer dans la fonction, à l’exclusion du paramètre « This ». La valeur peut être null si la fonction à interpréter n’accepte aucun paramètre. Si la fonction accepte des paramètres, la longueur de ce tableau doit être égale au nombre de paramètres spécifié dans la signature de la méthode.

MaxInstructionCount
Int32

Dans Nombre maximal d’instructions IL que nous sommes autorisés à interpréter. L’interprétation IL sera abandonnée avec un code d’erreur de E_ABORT si le nombre réel d’instructions dépasse cette limite. Cette limite empêche l’accrochage de Visual Studio si le code en cours d’interprétation entre dans une boucle infinie.

Options
DkmILInterpreterOptions

Dans Options supplémentaires pour l’interpréteur IL.

ExceptionType
String

[Out, optional] Si la méthode lève une exception non gérée, le type de l’exception qui a été levée.

Retours

DkmILInterpreterValue

[Out, optional] Valeur de retour de la méthode. La valeur est null si la méthode retourne void ou lève une exception.

S’applique à