Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Expressie-evaluators (EE) onderzoeken de syntaxis van een taal om variabelen en expressies tijdens runtime te parseren en evalueren, zodat ze door de gebruiker kunnen worden weergegeven wanneer de IDE in de onderbrekingsmodus is.
Expressie-evaluators gebruiken
Expressies worden als volgt gemaakt met behulp van de methode ParseText :
De foutopsporingsengine (DE) implementeert de IDebugExpressionContext2-interface .
Het foutopsporingspakket haalt een
IDebugExpressionContext2object op van een IDebugStackFrame2-interface en roept vervolgens deIDebugStackFrame2::ParseTextmethode hierop aan om een IDebugExpression2-object op te halen.Het foutopsporingspakket roept de methode EvaluateSync of de EvaluateAsync-methode aan om de waarde van de expressie op te halen.
IDebugExpression2::EvaluateAsyncwordt aangeroepen vanuit het venster Command/Direct. Alle andere UI-componenten doen een beroep opIDebugExpression2::EvaluateSync.Het resultaat van de expressie-evaluatie is een IDebugProperty2-object dat de naam, het type en de waarde van het resultaat van de expressie-evaluatie bevat.
Tijdens de evaluatie van de expressie vereist de EE informatie van het onderdeel van de symboolprovider. De symboolprovider levert de symbolische informatie die wordt gebruikt voor het identificeren en begrijpen van de geparseerde expressie.
Wanneer de evaluatie van asynchrone expressies is voltooid, wordt een asynchrone gebeurtenis verzonden door de DE via de sessiedebugbeheer (SDM) om de IDE op de hoogte te stellen dat de expressie-evaluatie is voltooid. En het resultaat van de evaluatie wordt vervolgens geretourneerd van de aanroep naar de
IDebugExpression2::EvaluateSyncmethode.
Opmerkingen bij de implementatie
De Visual Studio-foutopsporingsengines verwachten te praten met de expressie-evaluator met behulp van CLR-interfaces (Common Language Runtime). Als gevolg hiervan moet een expressie-evaluator die werkt met de Visual Studio-foutopsporingsengines de CLR ondersteunen (een volledige lijst met alle CLR-foutopsporingsinterfaces vindt u in debugref.doc, die deel uitmaakt van de Windows Software Development Kit (SDK)).