Compartir a través de


Debugger2.ExecuteStatement (Método)

Ejecuta la instrucción especificada. Si la marca TreatAsExpression es true, la cadena se interpreta como una expresión y el resultado se envía a la Ventana de comandos.

Espacio de nombres:  EnvDTE80
Ensamblado:  EnvDTE80 (en EnvDTE80.dll)

Sintaxis

'Declaración
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
)

Parámetros

  • Statement
    Tipo: String
  • Timeout
    Tipo: Int32

    Período de tiempo de espera, en milisegundos.

  • TreatAsExpression
    Tipo: Boolean

    true si la cadena se va a interpretar como una expresión; de lo contrario false.

Comentarios

ExecuteStatement ejecuta la instrucción especificada. Una instrucción se diferencia de una expresión en que la instrucción puede constar de una o más expresiones. Por tanto, normalmente no se puede asociar ni devolver ningún valor con la ejecución de una instrucción.

Algunos lenguajes, como Visual Basic, admiten una sintaxis que se basa en el contexto en el que aparece una instrucción para indicar cómo se evalúa la instrucción. Por ejemplo, si su código de Visual Basic tiene una instrucción, a = 1, se interpreta como una expresión si el código aparece dentro de una instrucción If...Then. Se interpreta como una instrucción si aparece sola en una línea. La expresión prueba a respecto al valor de 1, la instrucción establecerá a igual a 2. Vea el ejemplo siguiente.

El resultado generado con este método se envía a Ventana de comandos.

Ejemplos

En el siguiente ejemplo se muestra cómo utilizar el método ExecuteStatement.

Para probar este método:

  1. Establezca el punto de interrupción en la aplicación de destino después de asignar un valor a la variable.

  2. Ejecute la aplicación de destino en el modo de depuración.

  3. Cuando la aplicación se detenga en el punto de interrupción, ejecute el complemento.

  4. El valor de la variable cambia a un nuevo valor.

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

Seguridad de .NET Framework

Vea también

Referencia

Debugger2 Interfaz

EnvDTE80 (Espacio de nombres)