Debugger2.ExecuteStatement 方法 (String, Int32, Boolean)

执行指定的语句。 如果 TreatAsExpression 标志为 true,那么字符串将被解释为表达式,且输出被发送至 “命令”窗口

命名空间:  EnvDTE80
程序集:  EnvDTE80(在 EnvDTE80.dll 中)

语法

声明
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
)

参数

  • Timeout
    类型:System.Int32
    超时时间(以毫秒为单位)。
  • TreatAsExpression
    类型:System.Boolean
    如果字符串将被解释为表达式,则为 true;否则为 false。

备注

ExecuteStatement 执行指定的语句。 由于一个语句可以包含一个或多个表达式,因此语句与表达式是有区别的。 所以,通常执行语句并不会与任何值关联或返回任何值。

某些语言(例如,Visual Basic)支持这样一种语言语法:该语法根据某语句所处的上下文来指示如何解释该语句。 例如,如果 Visual Basic 代码包含语句 a = 1,那么,若此代码位于 If…Then 语句内,则它将被解释为表达式。 若它单独作为一行出现,则它将被解释为语句。 表达式将根据 1 的值来测试 a ,语句将设置 a 等于 2。 请参见下面的示例。

此方法的输出发送至 “命令”窗口

示例

下面的示例演示如何使用 ExecuteStatement 方法。

若要测试此方法,请执行下列操作:

  1. 在为变量赋值之后在目标应用程序中设置断点。

  2. 以调试模式运行目标应用程序。

  3. 当此应用程序停在该断点处时,运行外接程序。

  4. 变量的值更改为新的值。

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 安全性

请参见

参考

Debugger2 接口

ExecuteStatement 重载

EnvDTE80 命名空间