다음을 통해 공유


Visual Basic의 식

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용됨 항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용됨

Pro, Premium 및 Ultimate

항목이 적용됨 항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용됨

관리되는 식 계산기는 Visual Basic으로 작성된 대부분의 식을 계산합니다. 직접 실행 창에서 식 계산기는 한 줄로 된 문만 지원합니다.

다음 단원에서는 관련 정보 및 지원되지 않거나 부분적으로 지원되는 식 형식 중 일부에 대해 설명합니다.

  • 캐스트

  • 동적 개체

  • 함수 실행

  • 식별자 및 형식

  • 별칭 가져오기

  • 내장 형식을 포함하는 개체 변수

  • 연산자

  • 속성 확인

  • 문자열

  • TypeOf 연산자

  • 지원되지 않는 키워드

  • 변수 선언

  • 웹 메서드

Visual Basic에서는 데이터 형식의 내용을 의미 있는 형태로 표시하는 데 필요한 자동 확장 규칙을 지원하지 않습니다. 자세한 내용은 사용자 지정 데이터 형식의 요소 표시를 참조하십시오.

캐스트

디버거에서 단순 캐스트를 사용할 수 있습니다.

A = CStr(B)

동적 개체

식 계산기는 정적으로 동적 입력된 변수를 계산할 수 있습니다. IDynamicObject 인터페이스를 구현하는 개체를 평가할 수도 있습니다. IDynamicObject 인터페이스를 구현하는 개체가 조사식 창에서 계산되면 동적 보기 노드가 추가됩니다. 동적 보기 노드는 개체의 멤버를 보여주지만 멤버 값을 편집할 수는 없습니다.

동적 개체의 다음 기능은 지원되지 않습니다.

  • 복합 연산자 +=, -=, %=, /= 및 *=

  • 숫자 캐스트 및 형식 인수 캐스트를 포함한 많은 캐스트

  • 두 개 이상의 인수가 있는 메서드 호출

  • 두 개 이상의 인수가 있는 속성 getter

  • 인수가 있는 속성 setter

  • 인덱서에 할당

  • 부울 연산자 && 및 ||

함수 실행

디버거는 오버로드된 함수를 포함해 함수 계산을 지원합니다. 따라서 다음 식 중 하나를 입력하면 디버거가 올바른 버전의 오버로드된 함수를 호출합니다.

myFunction (param1)

myFunction (param1, param2)

디버거에서 함수를 실행하면 해당 함수의 코드가 호출되어 실행됩니다. 함수로 인해 메모리가 할당되거나 전역 변수 값이 변경되는 등의 부작용이 발생하는 경우, 디버거에서 해당 함수를 실행하면 프로그램의 상태가 변경되어 예기치 않은 결과가 생성될 수 있습니다.

오버로드된 함수에 중단점을 설정할 때는 함수를 지정하는 방법에 따라 중단점의 위치가 달라집니다. 함수 이름만 지정하면 디버거는 해당 함수 이름의 각 오버로드에 하나의 중단점을 설정합니다. 전체 시그니처(함수 이름과 전체 인수 목록)를 지정하는 경우 디버거는 지정된 오버로드에 하나의 중단점을 설정합니다.

식별자 및 형식

디버거 식에서는 현재 범위 내에 표시되는 모든 식별자를 사용할 수 있습니다. 예를 들어, 디버거가 Magh 함수에서 중단되면 변수 이름 및 함수 이름을 포함하여 Magh 내에 표시되는 모든 식별자를 사용할 수 있습니다. 로컬 상수는 지원되지 않습니다. 또한 현재 범위 내에 표시되는 모든 변수의 값을 설정할 수 있습니다.

디버거는 기본 형식 또는 내장 형식의 모든 변수를 올바르게 표시할 수 있습니다. 클래스 형식 변수의 경우 디버거는 파생된 형식을 기반으로 값을 올바로 표시합니다. 예를 들어, Cat 형식에서 파생된 Lion 형식의 leo 개체가 있는 경우 leo.Clawlength를 계산하여 Lion 형식의 개체에 대한 올바른 값을 얻을 수 있습니다.

별칭 가져오기

디버거 창에서 별칭을 가져올 수 없습니다.

내장 형식을 포함하는 개체 변수

정수와 같이 내장 변수 형식을 포함하는 개체 변수는 예상과는 다른 방법으로 표시되고 편집됩니다. 예를 들어, 소스 코드에 다음과 같은 개체 변수가 있다고 가정합니다.

Dim obj As Object = 5

조사식 창에 obj 변수의 값이 다음과 같이 표시됩니다.

5 {Integer}

이 변수 값을 6으로 변경하려면 다음과 같이 입력하며

6

다음과 같이 입력하지는 않습니다.

6 {Integer}

값을 편집하면 디버거에서 {Integer}가 자동으로 추가됩니다.

연산자

디버거는 다음과 같은 대부분의 연산자를 올바로 계산합니다.

  • 산술 연산자: ( expr1 + expr2, expr1 - expr2, expr1 * expr2, expr1 / expr2, expr1 \ expr2, expr1 ^ expr2 , expr1 Mod expr2 ).

  • 할당 연산자: (var1 = expr2, var1 ^= expr2, var1 *= expr2, var1 /= expr2, var1 \= expr2, var1 += expr2, var1 -= expr2, var1 &= expr2)

  • 비교 연산자: (expr2 < expr2, expr2 <= expr2, expr1 > expr2, expr1 >= expr2, expr1 = expr2, expr1 <> expr2)

  • 연결 연산자: (expr1 & expr2, expr1 + expr2).

  • 논리 연산자: (expr1 And expr2, expr1 Or expr2, expr1 XOr expr2, expr1 AndAlso expr2, expr1 OrElse expr2, Not expr1)

  • 단항 연산자: (- expr1, Not expr1, GetType (type))

속성 확인

디버거는 모든 변수 창에서 속성을 확인할 수 있습니다. 그러나 디버거에서 속성을 확인하면 프로그램 결과에 영향을 주는 변수 값 변경과 같은 의도하지 않은 결과가 나타날 수 있습니다. 실수로 속성을 확인하는 것을 방지하려면 옵션, 디버깅, 일반 대화 상자에서 속성 확인을 해제합니다.

문자열

Visual Basic에서는 다음과 같이 문자열에 대해 Length 연산자를 사용할 수 있습니다.

mystring.Length

또는

"hello world".Length

TypeOf 연산자

Visual Basic의 경우 디버거 창에서 TypeOf 연산자를 사용할 수 있습니다.

TypeOf 식 Is 형식

다음 예제를 참조하십시오.

TypeOf Me Is Integer

false 값이 표시됩니다.

TypeOf를 사용하는 경우 이는 Is를 사용하는 식의 일부여야 합니다. Is 없이 TypeOf를 사용하는 경우 다음과 같은 오류 메시지가 나타납니다.

Is required

지원되지 않는 키워드

다음 Visual Basic 키워드는 디버거 창 식에서 지원되지 않습니다.

  • AddressOf

  • End

  • Error

  • Exit

  • Goto

  • On Error

  • Return

  • Resume

  • Select/Case

  • Stop

  • SyncLock

  • Throw

  • Try/Catch/Finally

  • With

또한 End Sub나 Module과 같은 네임스페이스 또는 모듈 수준 키워드도 지원되지 않습니다.

변수 선언

디버거 창에서는 새 변수를 명시적으로 선언할 수 없습니다.

그러나 직접 실행 창에서 암시적 변수에 값을 할당할 수는 있습니다. 이러한 암시적 변수의 범위는 디버거로 제한되고 디버거 외부에서 액세스할 수 없습니다. 예를 들어 o = 5 문은 새 변수 o를 암시적으로 만들고 이 변수에 5를 값으로 할당합니다. 디버거에서 형식을 유추할 수 없는 경우 이와 같은 암시적 변수의 형식은 Object입니다.

웹 메서드

디버거 창에서는 웹 메서드를 호출할 수 없습니다.

참고 항목

기타 리소스

디버거에서 사용하는 식

Visual Basic 언어 참조