Debugger2.ExecuteStatement(String, Int32, Boolean) Method

Definition

Executes the specified statement. If the TreatAsExpression flag is true, then the string is interpreted as an expression, and output is sent to the Command Window.

void ExecuteStatement(std::wstring const & Statement, int Timeout = -1, bool TreatAsExpression = false);
[System.Runtime.InteropServices.DispId(11)]
public void ExecuteStatement (string Statement, int Timeout = -1, bool TreatAsExpression = false);
[<System.Runtime.InteropServices.DispId(11)>]
abstract member ExecuteStatement : string * int * bool -> unit
Public Sub ExecuteStatement (Statement As String, Optional Timeout As Integer = -1, Optional TreatAsExpression As Boolean = false)

Parameters

Statement
String
Timeout
Int32

The timeout period, in milliseconds.

TreatAsExpression
Boolean

true if the string is to be interpreted as an expression; otherwise false.

Implements

Attributes

Examples

The following example demonstrates how to use the ExecuteStatement method.

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  

Remarks

ExecuteStatement executes the specified statement. A statement differs from an expression in that a statement can consist of one or more expressions. Therefore, typically no value can be associated or returned by statement execution.

Some languages, such as Visual Basic, support a language syntax that relies on the context in which a statement appears to indicate how the statement is evaluated. For example, if your Visual Basic code has statement, a = 1, it is interpreted as an expression if the code appears inside an If…Then statement. It is interpreted as a statement if it appears alone on a line. The expression tests a against the value of 1, the statement will set a equal to 2. See the Example below.

Output from this method is sent to the Command Window.

Applies to