다음을 통해 공유


지역 변수에 액세스

전역 변수와 같은 지역 변수는 기호 파일에 저장됩니다. 그리고 전역 변수와 마찬가지로 디버거는 해당 이름을 주소로 해석합니다. 전역 변수와 동일한 방식으로 읽고 쓸 수 있습니다. 그러나 기호가 로컬임을 명령에 나타내야 하는 경우 에서와 같이 $!var달러 기호( $ ) 및 느낌표(! )를 사용하여 기호 앞에 옵니다.

Visual Studio 및 WinDbg는 명령 외에도 지역 변수를 보고 편집하는 데 사용할 수 있는 사용자 인터페이스 요소를 제공합니다. 자세한 내용은 WinDbg(클래식)에서 지역 변수 보기 및 편집을 참조하세요.

다음 메서드를 사용하여 지역 변수를 표시, 변경 및 사용할 수도 있습니다.

  • dv(지역 변수 표시) 명령은 모든 지역 변수의 이름과 값을 표시합니다.

  • !for_each_local 확장을 사용하면 각 지역 변수에 대해 한 번씩 단일 명령을 반복적으로 실행할 수 있습니다.

그러나 로컬 변수와 전역 변수 간에는 한 가지 주요 차이점이 있습니다. 애플리케이션이 실행 중일 때 지역 변수의 의미는 프로그램 카운터의 위치에 따라 달라집니다. 이러한 변수의 scope 정의된 함수로만 확장되기 때문입니다.

디버거는 로컬 컨텍스트에 따라 지역 변수를 해석합니다. 기본적으로 이 컨텍스트는 프로그램 카운터의 위치와 일치합니다. 그러나 디버거는 컨텍스트를 변경할 수 있습니다. 로컬 컨텍스트에 대한 자세한 내용은 로컬 컨텍스트를 참조하세요.

로컬 컨텍스트가 변경되면 지역 변수의 새 컬렉션을 반영하도록 로컬 창이 즉시 업데이트됩니다. dv 명령은 새 변수도 표시합니다. 그런 다음 이러한 모든 변수 이름은 앞에서 설명한 메모리 명령에 의해 올바르게 해석됩니다. 그런 다음 이러한 변수를 읽거나 쓸 수 있습니다.