Debugger.ExecuteStatement 方法

执行指定的语句。 如果 TreatAsExpression 标志为 true,则将字符串解释为表达式,然后向“命令”窗口发送输出。

命名空间:  EnvDTE
程序集:  EnvDTE(在 EnvDTE.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 语句中,则会将它解释为表达式。 有关更多信息,请参见 If...Then...Else 语句 (Visual Basic)。 在此例中,如果该代码在行上单独出现,则将它解释为语句。 表达式将根据值 1 测试 a;语句将 a 设置为等于 2。 请参见下面的示例。

此方法的输出被发送到**“命令”**窗口。

示例

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

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

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

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

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

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

public static void ExecuteStatement(DTE dte)
{
    // Setup the 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();

    dte.Debugger.ExecuteStatement("tempC = 100.0", 100, false);
}
Shared Sub ExecuteStatementTest(ByRef dte As EnvDTE.DTE)
    dte.Debugger.ExecuteStatement("tempC = 100.0", 100, False)
End Sub

.NET Framework 安全性

请参见

参考

Debugger 接口

EnvDTE 命名空间