J'ai un VSPackage que je voudrais obtenir des informations similaires à celles montrées dans la fenêtre locale en mode débogage (les valeurs de variables pour le contexte actuel).Visual Studio Package - Comment puis-je obtenir les informations dans la fenêtre Locals?
J'ai expérimenté l'instance DTE.Debugger.CurrentStackFrame qui semblait intéressante car elle exposait des collections d'expressions Argument et Local. Cependant, je ne vois pas comment obtenir la valeur d'une expression en tant qu'objet - la propriété Value semble être la valeur ToString.
Le débogueur n'expose-t-il pas cette information? Je m'attendais à un magasin central avec lequel les différentes vues de débogage interagissent (c'est-à-dire les Locals, Watch, Immediate et quand survolant des variables dans le code). Aussi, pouvez-vous élaborer sur les API CLR que vous avez mentionnées? –
@Alan, le débogueur Visual Studio expose la vue de cette information mais pas les données sous-jacentes. Le débogueur VS lui-même ne sait pas réellement ce que ces valeurs sont et s'appuie plutôt sur des évaluateurs d'expression spécifiques à la langue (EEs) pour parler avec le processus réel debugee. Essentiellement VS demande à chaque EE de donner l'ensemble actuel de locals qui sont retournés en tant qu'objets IDebugProperty. Le débogueur VS peut utiliser cette interface pour inspecter les valeurs, mais il ne récupère jamais l'objet de débogage brut. Les API CLR sont les API ICorDebug – JaredPar
Merci pour votre réponse détaillée Jared. J'apprécie ton aide. –