Delen via


Expressie-evaluatie (Visual Studio-debugging-SDK)

Tijdens de onderbrekingsmodus moet de IDE eenvoudige expressies evalueren die betrekking hebben op verschillende programmavariabelen. Om de evaluatie te kunnen uitvoeren, moet de foutopsporingsengine (DE) een expressie parseren en evalueren die is ingevoerd in een van de vensters van de IDE.

Expressies worden gemaakt met de methode IDebugExpressionContext2::P arseText en vertegenwoordigd door de resulterende IDebugExpression2-interface .

De IDebugExpression2-interface wordt geïmplementeerd door de DE en roept de EvalAsync-methode aan om een IDebugProperty2-interface te retourneren naar de IDE om de resultaten van de expressie-evaluatie in de IDE weer te geven. IDebugProperty2::GetPropertyInfo retourneert een structuur die wordt gebruikt om de waarde van een expressie in een Watch-venster of in het lokale venster te plaatsen.

Het foutopsporingspakket of sessiedebugbeheer (SDM) roept IDebugExpression2::EvaluateAsync of EvaluateSync aan om een IDebugProperty2-interface op te halen die het resultaat van de evaluatie vertegenwoordigt. IDebugProperty2 bevat methoden die de naam, het type en de waarde van de expressie retourneren. Deze informatie wordt weergegeven in verschillende foutopsporingsprogrammavensters.

Expressie-evaluatie gebruiken

Als u expressie-evaluatie wilt gebruiken, moet u de methode IDebugExpressionContext2::P arseText en alle methoden van de IDebugExpression2-interface implementeren, zoals wordt weergegeven in de volgende tabel.

Methode Description
EvaluateAsync Evalueert asynchroon een expressie.
afbreken Hiermee wordt de evaluatie van asynchrone expressies beëindigd.
EvaluateSync Evalueert een expressie synchroon.

Voor synchrone en asynchrone evaluatie moet de methode IDebugProperty2::GetPropertyInfo worden geïmplementeerd. Voor de evaluatie van Asynchrone expressies is de implementatie van IDebugExpressionEvaluationCompleteEvent2 vereist.

Zie ook