자동 및 지역 창에서 변수 검사
자동 및 로컬 창에는 디버깅하는 동안 변수 값이 표시됩니다. 창은 디버깅 세션 중에만 사용할 수 있습니다. 자동 창에는 디버거가 일시 중지된 지점의 현재 문장 주변에서 사용되는 변수들이 표시됩니다. Locals 창에는 로컬 범위에 정의된 변수(일반적으로 현재 함수 또는 메서드)가 표시됩니다.
메모
코드를 처음 디버그하려고 시도한 경우 이 문서를 진행하기 전에 절대 초보자를 위한 디버깅 및 디버깅 기술 및 도구를 읽어보는 것이 좋습니다.
자동 창은 C#, Visual Basic, C++및 Python 코드에서 사용할 수 있지만 JavaScript 또는 F#에는 사용할 수 없습니다.
디버깅하는 동안 자동 창을 열려면 디버그>창>자동을 선택하거나 Ctrl+Alt+V>A를 누르세요.
디버깅하는 동안 로컬 창을 열려면 디버그>Windows>Locals선택하거나 Alt+4누릅니다.
자동 및 지역 창 사용
배열 및 개체는 Autos 및 Locals 창에 트리 컨트롤로 표시됩니다. 변수 이름의 왼쪽에 있는 화살표를 선택하여 필드와 속성을 표시하도록 보기를 확장합니다. 다음은 Locals 창에 있는 System.IO.FileStream 개체의 예입니다.
Locals 또는 자동 창의 빨간색 값은 마지막 평가 이후 값이 변경되었음을 의미합니다. 이전 디버깅 세션에서 변경되거나 창의 값을 변경했기 때문일 수 있습니다.
디버거 창의 기본 숫자 형식은 10진수입니다. 16진수로 변경하려면 지역 또는 자동 창을 마우스 오른쪽 단추로 클릭하고 16진수 표시선택합니다. 이 변경 내용은 모든 디버거 창에 영향을 줍니다.
자동 또는 지역 창에서 변수 값 편집
Autos 또는 Locals 창에서 대부분의 변수 값을 편집하려면 값을 두 번 클릭하고 새 값을 입력합니다.
값에 대한 식(예: a + b
)을 입력할 수 있습니다. 디버거는 가장 유효한 언어 식을 허용합니다.
네이티브 C++ 코드에서는 변수 이름의 컨텍스트를 한정해야 할 수 있습니다. 자세한 내용은 Context 연산자(C++)참조하세요.
주의
값과 식을 변경하기 전에 결과를 이해해야 합니다. 몇 가지 가능한 문제는 다음과 같습니다.
자동 또는 지역 창에서 검색
각 창 위의 검색 창을 사용하여 자동 또는 로컬 창의 이름, 값 및 형식 열에서 키워드를 검색할 수 있습니다. Enter 키를 누르거나 화살표 중 하나를 선택하여 검색을 실행합니다. 진행 중인 검색을 취소하려면 검색 창에서 "x" 아이콘을 선택합니다.
왼쪽 및 오른쪽 화살표(각각 Shift+F3 및 F3)를 사용하여 찾은 일치 항목 사이를 탐색합니다.
로컬 창에서 검색의 스크린샷
로컬 창에서 검색의 스크린샷
검색을 좀 더 철저하게 만들려면 자동 또는 로컬 창 맨 위에 있는 검색 심층 드롭다운 목록을 사용하여 중첩된 개체로 검색할 수준 수를 선택할 수 있습니다.
자동 또는 지역 창에서 속성 고정하기
메모
이 기능은 .NET Core 3.0 이상에서 지원됩니다.
고정 가능한 속성 도구를 사용하여 자동 및 지역 창에서 해당 속성으로 개체를 신속하게 검사할 수 있습니다. 이 도구를 사용하려면 속성을 마우스로 가리키고 나타나는 고정 아이콘을 선택하거나 마우스 오른쪽 단추를 클릭하고 결과 상황에 맞는 메뉴에서 멤버를 즐겨찾기 옵션으로 선택합니다. 이렇게 하면 해당 속성이 개체의 속성 목록 맨 위로 버블되고 속성 이름과 값이 Value 열에 표시됩니다. 속성을 고정 해제하려면 고정 아이콘을 다시 선택하거나 상황에 맞는 메뉴에서 멤버 즐겨찾기 해제 옵션을 선택합니다.
자동 또는 지역 창에서 개체의 속성 목록을 볼 때 속성 이름을 토글하고 고정되지 않은 속성을 필터링할 수도 있습니다. 자동 또는 로컬 창 위의 도구 모음에서 단추를 선택하여 각 옵션에 액세스할 수 있습니다.
자동 변수 또는 지역 변수 창의 컨텍스트 변경
디버그 위치 도구 모음을 사용하여 Autos 및 Locals 창의 컨텍스트를 변경하는 원하는 함수, 스레드 또는 프로세스를 선택할 수 있습니다.
디버그 위치 도구 모음을 사용하려면, 도구 모음 영역의 빈 부분을 클릭한 후, 드롭다운 목록에서 디버그 위치을 선택하거나 보기를 선택하고,>도구 모음,>디버그 위치를 선택하십시오.
중단점을 설정하고 디버깅을 시작합니다. 중단점이 적중되면 실행이 일시 중지되고 디버그 위치 도구 모음에서 위치를 볼 수 있습니다.
AI 지원 받기
만약 Copilot이 있다면, 자동 또는 지역 창이나 데이터 팁에서 변수를 볼 때 AI 지원을 받을 수 있습니다. 변수를 마우스 오른쪽 버튼으로 클릭하고 Ask Copilot 버튼입니다. 이 시나리오에서 Copilot는 질문의 컨텍스트를 이미 알고 있으므로 채팅에서 컨텍스트를 직접 제공할 필요가 없습니다. 자세한 내용은 Copilot과 함께 디버그 을 참조하세요.
자동 창의 변수(C#, C++, Visual Basic, Python)
다른 코드 언어는 자동 창에 다른 변수를 표시합니다.
C# 및 Visual Basic에서 자동 창에는 현재 또는 이전 줄에 사용된 변수가 표시됩니다. 예를 들어 C# 또는 Visual Basic 코드에서 다음 네 개의 변수를 선언합니다.
public static void Main() { int a, b, c, d; a = 1; b = 2; c = 3; d = 4; }
줄
c = 3;
중단점을 설정하고 디버거를 시작합니다. 실행이 일시 중지되면 Auto 창이 표시됩니다.줄
c = 3
아직 실행되지 않았기 때문에c
값은 0입니다.C++에서 자동 창에는 실행이 일시 중지된 현재 줄 앞에 세 줄 이상 사용된 변수가 표시됩니다. 예를 들어 C++ 코드에서 6개의 변수를 선언합니다.
void main() { int a, b, c, d, e, f; a = 1; b = 2; c = 3; d = 4; e = 5; f = 6; }
줄
e = 5;
중단점을 설정하고 디버거를 실행합니다. 실행이 중지되면 Autos 창이 표시됩니다.줄
e = 5
아직 실행되지 않았기 때문에 변수e
초기화되지 않았습니다.
메서드 호출의 반환 값 보기
.NET 및 C++ 코드에서는 메서드 호출을 단계별로 실행하거나 종료할 때 자동 창에서 반환 값을 검사할 수 있습니다. 메서드 호출 반환 값을 보는 것은 지역 변수에 저장되지 않은 경우에 유용할 수 있습니다. 메서드를 매개 변수로 사용하거나 다른 메서드의 반환 값으로 사용할 수 있습니다.
메모
Visual Studio 2022 버전 17.12 미리 보기 3부터는 자동 창뿐만 아니라 인라인으로 반환 값을 볼 수 있습니다.
예를 들어 다음 C# 코드는 두 함수의 반환 값을 추가합니다.
static void Main(string[] args)
{
int a, b, c, d;
a = 1;
b = 2;
c = 3;
d = 4;
int x = sumVars(a, b) + subtractVars(c, d);
}
private static int sumVars(int i, int j)
{
return i + j;
}
private static int subtractVars(int i, int j)
{
return j - i;
}
자동 창에서 sumVars()
및 subtractVars()
메서드 호출의 반환 값을 보려면 다음을 수행합니다.
int x = sumVars(a, b) + subtractVars(c, d);
줄에 중단점을 설정합니다.디버깅을 시작하고 중단점에서 실행이 일시 중지되면 단계 이동을 선택하거나 F10을 누르세요. 자동 창에서 다음 반환 값을 볼 수 있습니다.
관련 콘텐츠
- 디버깅이란?
- 디버깅 기술 및 도구
- 먼저 디버깅 살펴보기
- 디버거 창