Freigeben über


Debugger2.ExecuteStatement-Methode (String, Int32, Boolean)

Führt die angegebene Anweisung aus. Wenn das TreatAsExpression-Flag auf true festgelegt ist, wird die Zeichenfolge als Ausdruck interpretiert und die Ausgabe an Befehlsfenster gesendet.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Sub ExecuteStatement ( _
    Statement As String, _
    Timeout As Integer, _
    TreatAsExpression As Boolean _
)
void ExecuteStatement(
    string Statement,
    int Timeout,
    bool TreatAsExpression
)
void ExecuteStatement(
    [InAttribute] String^ Statement, 
    [InAttribute] int Timeout, 
    [InAttribute] bool TreatAsExpression
)
abstract ExecuteStatement : 
        Statement:string * 
        Timeout:int * 
        TreatAsExpression:bool -> unit 
function ExecuteStatement(
    Statement : String, 
    Timeout : int, 
    TreatAsExpression : boolean
)

Parameter

  • TreatAsExpression
    Typ: System.Boolean
    true, wenn die Zeichenfolge als Ausdruck interpretiert werden soll, andernfalls false.

Implementiert

Debugger.ExecuteStatement(String, Int32, Boolean)

Hinweise

ExecuteStatement führt die angegebene Anweisung aus. Der Unterschied zwischen einer Anweisung und einem Ausdruck besteht darin, dass eine Anweisung auch mehrere Ausdrücke enthalten kann. Deshalb kann durch die Ausführung der Anweisung normalerweise kein Wert zugeordnet oder zurückgegeben werden.

Einige Programmiersprachen, z. B. Visual Basic, unterstützen eine Sprachsyntax, bei der der Kontext einer Anweisung darüber entscheidet, wie die Anweisung ausgewertet wird. Wenn der Visual Basic-Code beispielsweise die Anweisung a = 1 enthält, die darüber hinaus in einer If...Then-Anweisung auftritt, wird die Anweisung als Ausdruck interpretiert. Wenn die Anweisung allein in einer Zeile steht, wird sie als Anweisung interpretiert. Während der Ausdruck a auf den Wert 1 testet, legt die Anweisung a auf den Wert 2 fest. Nachfolgend finden Sie ein Beispiel hierzu.

Die Ausgabe der Methode wird an Befehlsfenster gesendet.

Beispiele

Das folgende Beispiel veranschaulicht, wie die ExecuteStatement-Methode verwendet wird.

So testen Sie diese Methode

  1. Legen Sie den Haltepunkt in der Zielanwendung fest, nachdem der Variablen ein Wert zugewiesen wurde.

  2. Führen Sie die Zielanwendung im Debugmodus aus.

  3. Führen Sie das Add-In aus, wenn die Anwendung am Haltepunkt hält.

  4. Der Variablen wird ein neuer Wert zugewiesen.

public static void ExecuteStatement(EnvDTE80.DTE2 dte)
{
    // Setup debug Output window.
    Window w = 
    (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("ExecuteStatement 
    Method Test");
    owp.Activate();

    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
    debugger.ExecuteStatement("tempC = 100.0", 100, false);
    owp.OutputString("The new value of tempC variable is: " + 
                     debugger.GetExpression("tempC", false, 1).Value);
}
' The following executes a statement, effectively
' setting a to the value of 2.
Sub SetVariable()
    DTE2.Debugger.ExecuteStatement("a = 2", -1, False)
End Sub

' The following tests the value of a against
' the value of 2.  False is displayed in the command window.

Sub TestVariable()
    DTE2.Debugger.ExecuteStatement("a = 2", -1, True)
End Sub

.NET Framework-Sicherheit

Siehe auch

Referenz

Debugger2 Schnittstelle

ExecuteStatement-Überladung

EnvDTE80-Namespace