programing tip

Visual Studio에서 직접 실행 창을 어떻게 사용합니까?

itbloger 2020. 7. 20. 07:49
반응형

Visual Studio에서 직접 실행 창을 어떻게 사용합니까?


직접 실행 창은 응용 프로그램을 디버깅하는 데 매우 유용한 도구입니다. 중단 점 컨텍스트에서 유효한 코드 문을 실행하고 값을 검사하는 데 사용할 수 있습니다. 또한 언어 기능을 배우기 위해 코드 스 니펫을 입력하는 데 사용합니다.

직접 실행 창을 어떻게 사용합니까?


Visual Studio에서 직접 실행 창의 유용한 기능 중 하나는 메서드가 클라이언트 코드에 의해 호출되었지만 변수 할당의 일부 아닌 경우 메서드의 반환 값을 평가할 수 있다는 것입니다 . 앞에서 언급했듯이 디버그 모드에서는 변수와 상호 작용하고이를 수행하는 데 중요한 역할을하는 메모리에서 식을 실행할 수 있습니다.

예를 들어 다음과 같이 두 숫자의 합을 반환하는 정적 메서드가있는 경우

private static int GetSum(int a, int b)
{
    return a + b;
}

그런 다음 직접 실행 창에서 다음을 입력 할 수 있습니다.

? GetSum(2, 4)
6

보시다시피, 이것은 정적 메소드에 실제로 효과적입니다. 그러나 메소드가 정적이 아닌 경우 메소드가 속한 오브젝트에 대한 참조와 상호 작용해야합니다.

예를 들어, 이것이 클래스의 모습이라고 가정 해 봅시다.

private class Foo
{
    public string GetMessage()
    {
        return "hello";
    }
}

객체가 메모리에 이미 있고 범위 내에있는 경우 현재 중단 점 이전에 (또는 적어도 디버그 모드에서 코드가 일시 중지되기 전에) 인스턴스화되어있는 한 직접 실행 창에서 객체를 호출 할 수 있습니다 .

? foo.GetMessage(); // object ‘foo’ already exists
"hello"

당신이 상호 작용하고 직접 메모리의 기존 인스턴스에 의존하지 않고 방법을 테스트하려는 경우 또한, 당신은 당신 인스턴스화 할 수 있습니다 자신의 직접 실행 창에서 인스턴스를 :

? Foo foo = new Foo(); // new instance of ‘Foo’
{temp.Program.Foo}
? foo.GetMessage()
"hello"

추가 평가, 계산 등을 수행하려는 경우 한 단계 더 나아가 메소드의 결과를 변수에 임시로 지정할 수 있습니다.

? string msg = foo.GetMessage();
"hello"
? msg + " there!"
"hello there!"

또한 새 객체의 변수 이름을 선언하지 않고 메소드 / 함수 중 하나를 실행하려는 경우 다음을 수행하십시오.

? new Foo().GetMessage()
"hello" 

메소드의 값을 보는 가장 일반적인 방법은 클래스의 메소드 이름을 선택하고 '시계 추가'를 수행하여 조사 식 창에서 현재 값을 볼 수 있도록하는 것입니다. 그러나 다시 한 번, 개체를 인스턴스화하고 유효한 값을 표시하려면 범위 내에 있어야합니다. 이것은 직접 실행 창을 사용하는 것보다 훨씬 덜 강력하고 제한적입니다.

방법 검사와 함께 간단한 수학 방정식을 수행 할 수 있습니다.

? 5 * 6
30

또는 값을 비교하십시오.

? 5==6
false
? 6==6
true

직접 실행 창에 직접있는 경우 물음표 ( '?')가 필요하지 않지만 명확성을 위해 여기에 포함됩니다 (표현식과 결과를 구분하기 위해). 그러나 명령 창에 있고 필요한 경우 직접 실행 창에서 몇 가지 빠른 작업을 수행하고 명령문 앞에 '?' 그리고 당신은 간다.

Intellisense는 직접 실행 창에서 작동 하지만 때로는 약간 일치하지 않을 수 있습니다. 내 경험상 디버그 모드에서만 사용할 수 있지만 디자인이 아닌 디버그 모드에서는 사용할 수없는 것 같습니다.

불행히도 직접 실행 창의 또 다른 단점은 루프를 지원하지 않는다는 것입니다.


직접 실행 창을 사용하여 명령 실행

직접 실행 창을 사용하여 명령을 실행할 수도 있습니다. >명령 뒤에 a를 입력하십시오 .

enter image description here

For example >shell cmd will start a command shell (this can be useful to check what environment variables were passed to Visual Studio, for example). >cls will clear the screen.

Here is a list of commands that are so commonly used that they have their own aliases: https://msdn.microsoft.com/en-us/library/c3a0kd3x.aspx


The Immediate window is used to debug and evaluate expressions, execute statements, print variable values, and so forth. It allows you to enter expressions to be evaluated or executed by the development language during debugging.

To display Immediate Window, choose Debug >Windows >Immediate or press Ctrl-Alt-I

enter image description here

Here is an example with Immediate Window:

int Sum(int x, int y) { return (x + y);}
void main(){
int a, b, c;
a = 5;
b = 7;
c = Sum(a, b);
char temp = getchar();}

add breakpoint

enter image description here

call commands

enter image description here

https://msdn.microsoft.com/en-us/library/f177hahy.aspx


I use it less now than in the past. Sometimes it's helpful to change the value of a variable, or inspect objects. That can be done through the watch window too, so I tend to use that more often.

참고URL : https://stackoverflow.com/questions/794255/how-do-you-use-the-immediate-window-in-visual-studio

반응형