다음을 통해 공유


Visual Studio 디버거의 컨텍스트 연산자(C++)

C++의 컨텍스트 연산자를 사용하여 중단점 위치, 변수 이름 또는 식을 한정할 수 있습니다. 컨텍스트 연산자는 외부 범위에서 이름을 지정하는 데 유용하며, 그렇지 않으면 로컬 이름으로 숨겨집니다.

Syntax

컨텍스트를 지정하는 방법에는 두 가지가 있습니다.

  1. {,[module] }

    중괄호에는 두 개의 쉼표와 모듈(실행 파일 또는 DLL) 이름 또는 전체 경로가 포함되어야 합니다.

    예를 들어, SomeFunction 함수를 사용하여 EXAMPLE.dll에 중단점을 설정하세요.

    {,,EXAMPLE.dll}SomeFunction
    
  2. 모듈!

    EXAMPLE.dll!SomeFunction
    
  • 모듈 은 모듈의 이름입니다. 전체 경로를 사용하여 이름이 같은 모듈 간을 명확하게 구분할 수 있습니다.

    모듈 경로에 쉼표, 포함된 공간 또는 중괄호가 포함된 경우 컨텍스트 파서가 문자열을 제대로 인식할 수 있도록 경로 주위에 따옴표를 사용해야 합니다. 작은따옴표는 Windows 파일 이름의 일부로 간주되므로 큰따옴표를 사용해야 합니다. 예를 들면 다음과 같습니다.

    {,,"a long, long, library name.dll"} g_Var
    
  • 모듈의 함수 이름, 변수 이름 또는 포인터 주소와 같은 유효한 대상으로 확인되는 유효한 C++ 식입니다.

    식 계산기가 식에서 기호를 발견하면 다음 순서로 기호를 검색합니다.

  1. 어휘 범위는 현재 블록에서 시작하여 중괄호로 묶인 여러 구문의 블록으로, 그리고 그 바깥쪽의 블록으로 지속적으로 확장됩니다. 현재 블록은 현재 위치, 명령 포인터 주소를 포함하는 코드입니다.

  2. 함수 범위 현재 함수

  3. 현재 위치가 C++ 멤버 함수 내에 있는 경우 클래스 범위입니다. 클래스 범위에는 모든 기본 클래스가 포함됩니다. 표현식 평가기는 일반 지배 규칙을 사용합니다.

  4. 현재 모듈의 전역 기호입니다.

  5. 현재 프로그램의 공용 기호입니다.