다음을 통해 공유


Debugger3.ExecuteStatement 메서드 (String, Int32, Boolean)

지정한 문을 실행합니다. TreatAsExpression 플래그가 true이면 문자열이 식으로 해석되고 출력이 명령 창에 전달됩니다.

네임스페이스:  EnvDTE90
어셈블리:  EnvDTE90(EnvDTE90.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입니다.

구현

Debugger2.ExecuteStatement(String, Int32, Boolean)

설명

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

    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 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

Debugger3 인터페이스

ExecuteStatement 오버로드

EnvDTE90 네임스페이스