컨텍스트 연산자(C/C++ 언어 식)
이 항목은 다음 언어에 적용됩니다.
Edition |
Visual Basic |
C# |
/F |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
네이티브 전용 |
||||
Pro, Premium 및 Ultimate |
네이티브 전용 |
컨텍스트 연산자는 네이티브 디버거에 추가로 제공되는 연산자입니다. 네이티브 코드를 디버깅할 때 다음과 같이 컨텍스트 연산자를 사용하여 중단점 위치, 변수 이름 또는 식을 한정할 수 있습니다.
{[function],[source],[module] } location
{[function],[source],[module] } variable_name
{[function],[source],[module] } expression
중괄호에는 함수 이름, 소스 파일 경로, 모듈(실행 파일 또는 DLL) 경로 등을 원하는 대로 조합하여 넣을 수 있습니다. 로컬 이름에 의해 숨겨진 외부 범위의 이름을 지정할 때 컨텍스트 연산자를 사용할 수 있습니다.
예제
EXAMPLE.CPP의 301번 째 줄에 중단점을 설정하려면 다음과 같이 지정하십시오.
{,EXAMPLE.CPP,}@301
function 또는 module을 생략할 경우에도 쉼표 두 개는 생략할 수 없습니다. 따라서 다음 구문은 잘못된 구문입니다.
{File.c, File.exe} @143 // Invalid syntax
그러나 source와 module을 모두 생략하면 쉼표를 생략할 수 있습니다. 다음 구문은 올바른 구문입니다.
{Fun} @143
source 또는 module 경로에 쉼표, 공백 또는 중괄호가 포함되어 있으면 컨텍스트 파서가 문자열을 정확하게 인식할 수 있도록 경로에 큰따옴표를 사용해야 합니다. 작은따옴표를 사용하면 Windows 파일 이름의 일부로 인식하므로 큰따옴표를 사용해야 합니다. 다음 예제를 참조하십시오.
{,"a long, long, name.c", } .143
식 계산기는 식에서 기호가 나오면 다음과 같은 순서로 기호를 검색합니다.
현재 블록(중괄호에 포함된 여러 문)에서 시작하여 바깥쪽 블록의 외부로 계속되는 어휘 범위. 현재 블록은 현재 위치(지시 포인터 주소)가 포함된 코드입니다.
함수 범위. 현재 함수.
현재 위치가 C++ 멤버 함수 내의 위치인 경우에는 클래스 범위. 클래스 범위에는 모든 기본 클래스가 포함됩니다. 식 계산기는 표준 우위 규칙을 사용합니다.
현재 모듈
전역 기호
기타 모듈
프로그램의 공용 기호
컨텍스트 연산자에서는 검색 시작 위치를 지정하고 현재 위치를 무시합니다. 클래스를 지정할 수는 없지만 클래스의 멤버 함수를 지정하여 식 계산기가 외부를 검색하도록 할 수 있습니다.