Visual Basic의 식
업데이트: 2007년 11월
이 항목은 다음 언어에 적용됩니다.
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro 및 Team |
표의 범례:
해당 |
|
해당 없음 |
|
명령은 기본적으로 숨겨져 있습니다. |
관리되는 식 계산기는 Visual Basic으로 작성된 대부분의 식을 계산합니다. 직접 실행 창에서 식 계산기는 한 줄로 된 문만 지원합니다.
다음 단원에서는 관련 정보 및 지원되지 않는 식 형식 중 일부에 대해 설명합니다.
식별자 및 형식
함수 실행
연산자
지원되지 않는 키워드
문자열
캐스트
TypeOf 연산자
내장 형식을 포함하는 개체 변수
속성 확인
웹 메서드
변수 선언
Visual Basic에서는 데이터 형식의 내용을 의미 있는 형태로 표시하는 데 필요한 자동 확장 규칙을 지원하지 않습니다. 자세한 내용은 사용자 지정 데이터 형식의 요소 표시를 참조하십시오.
캐스트
디버거에서 단순 캐스트를 사용할 수 있습니다.
A = CStr(B)
함수 실행
디버거는 오버로드된 함수를 포함해 함수 계산을 지원합니다. 따라서 다음 식 중 하나를 입력하면 디버거가 올바른 버전의 오버로드된 함수를 호출합니다.
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, expr1Modexpr2)
할당 연산자: (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, Notexpr1)
단항 연산자: (- expr1, Not expr1, GetType (type))
속성 확인
디버거는 모든 변수 창에서 속성을 확인할 수 있습니다. 그러나 디버거에서 속성을 확인하면 프로그램 결과에 영향을 주는 변수 값 변경과 같은 의도하지 않은 결과가 나타날 수 있습니다. 실수로 속성을 확인하는 것을 방지하려면 옵션, 디버깅, 일반 대화 상자에서 속성 확인을 해제합니다.
문자열
Visual Basic에서는 다음과 같이 문자열에 대해 Length 연산자를 사용할 수 있습니다.
mystring.Length
- 또는 -
"hello world".Length
TypeOf 연산자
Visual Basic의 경우 디버거 창에서 TypeOf 연산자를 사용할 수 있습니다.
TypeOf expression Is type
예를 들면 다음과 같습니다.
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입니다.
웹 메서드
디버거 창에서는 웹 메서드를 호출할 수 없습니다.