Freigeben über


Debugger3.ExecuteStatement-Methode

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:  EnvDTE90
Assembly:  EnvDTE90 (in EnvDTE90.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

  • Statement
    Typ: String

    Die auszuführende Anweisung.

  • Timeout
    Typ: Int32

    Das Timeout in Millisekunden.

  • TreatAsExpression
    Typ: Boolean

    true, wenn die Zeichenfolge als Ausdruck interpretiert werden soll, andernfalls false.

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. (Siehe nachstehendes Beispiel.)

Die Ausgabe der Methode wird an Befehlsfenster gesendet.

Beispiele

Im folgenden Beispiel wird die Verwendung der ExecuteStatement-Methode gezeigt.

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();

    EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)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

Debugger3 Schnittstelle

EnvDTE90-Namespace