중단점은 개발자 도구 상자에서 가장 중요한 디버깅 기술 중 하나입니다. 디버거 실행을 일시 중지하려는 위치에 중단점을 설정합니다. 예를 들어 코드 변수의 상태를 보거나 특정 중단점에서 호출 스택을 살펴볼 수 있습니다.
소스 코드에서 중단점 설정
실행 코드 줄에 중단점을 설정할 수 있습니다. 예를 들어 간단한 루프를 만드는 이 간단한 C# 코드를 살펴보세요.
int testInt = 3;
for (int i = 0; i < 10; i++)
{
testInt += i;
}
변수 할당이 있는 코드 줄(int testInt = 3
), for
루프 시작 줄 또는 for
루프 내의 어떤 코드 줄에도 중단점을 설정할 수 있습니다. 할당이 없고 getter/setter가 없는 경우 메서드 서명, 네임스페이스 또는 클래스에 대한 선언 또는 변수 선언에 중단점을 설정할 수 없습니다.
소스 코드에서 중단점을 설정하려면 다음을 수행합니다.
- 코드 줄 옆의 맨 왼쪽 여백을 클릭합니다. 줄을 선택하고 F9 키를 누르거나, 디버그를 선택하고 > 전환을 선택하거나, 마우스 오른쪽 단추를 클릭하고 중단점 삽입을 선택할 수도 있습니다. 중단점은 왼쪽 여백에 빨간색 점으로 나타납니다.
대부분의 언어(C#포함)의 경우 Visual Studio는 중단점 및 현재 실행 줄을 자동으로 강조 표시합니다. 기본적으로 강조 표시되지 않는 C++와 같은 일부 언어의 경우 중단점 및 현재 문에 대한 전체 소스 줄 강조 표시 디버깅>(>C>의 강조 표시를 설정할 수 있습니다.
디버그하려면 F5 키를 누르거나 디버그>시작 디버깅을 선택합니다.
디버그하면 해당 줄의 코드가 실행되기 전에 중단점에서 실행이 일시 중지됩니다. 중단점 기호는 노란색 화살표를 표시합니다.
다음 예제의 중단점에서 값 testInt
은 여전히 3입니다. 따라서 노란색의 문이 아직 실행되지 않았기 때문에 변수가 초기화된 이후로 값이 변경되지 않았습니다(값 3으로 설정).
다음 예제의 중단점에서 값 testInt
은 여전히 1입니다. 따라서 노란색 문이 아직 실행되지 않았기 때문에 변수가 초기화(값 1로 설정)된 이후로 값이 변경되지 않았습니다.
디버거가 중단점에서 중지되면 변수 값 및 호출 스택을 포함하여 앱의 현재 상태를 확인할 수 있습니다.
예를 들어 다음 그림에서는 데이터 팁과 로컬 창에서 값을 testInt
볼 수 있습니다 .
다음은 중단점 작업에 대한 몇 가지 일반적인 지침입니다.
중단점은 켜고 끌 수 있는 옵션입니다. 이를 클릭하거나 , F9 키를 누르거나, 디버그>토글 중단점을 사용하여 중단점을 삭제하거나 다시 삽입할 수 있습니다.
중단점을 삭제하지 않고 사용하지 않도록 설정하려면 마우스를 가리키거나 마우스 오른쪽 단추로 클릭하고 중단점 사용 안 함을 선택합니다. 비활성화된 중단점은 왼쪽 여백 또는 중단점 창에 빈 점으로 표시됩니다. 중단점을 다시 사용하도록 설정하려면 마우스로 가리키거나 마우스 오른쪽 단추로 클릭한 다음 중단점 사용을 선택합니다.
조건 및 작업을 설정하거나, 레이블을 추가 및 편집하거나, 중단점을 마우스 오른쪽 단추로 클릭하고 적절한 명령을 선택하거나 마우스로 가리키고 설정 아이콘을 선택하여 중단점을 내보냅니다.
중단점 유형
Visual Studio는 지정된 조건에 따라 활성화되는 조건부 중단점과 같은 다양한 디버깅 시나리오를 지원하기 위해 다양한 유형의 중단점을 지원합니다. 자세한 내용은 올바른 유형의 중단점사용하세요.
중단점 창에서 중단점 관리
중단점 창을 사용하여 솔루션의 모든 중단점을 보고 관리할 수 있습니다. 이 중앙 집중식 위치는 대형 솔루션 또는 중단점이 중요한 복잡한 디버깅 시나리오에서 특히 유용합니다.
중단점 창에서 중단점을 검색, 정렬, 필터링, 사용/사용 안 함 또는 삭제할 수 있습니다. 조건 및 작업을 설정하거나 새 함수 또는 데이터 중단점을 추가할 수도 있습니다.
중단점 창을 열려면Windows>중단점>를 선택하거나 Ctrl++를 누릅니다.
중단점 창에 표시할 열을 선택하려면 열 표시를 선택합니다. 열 머리글을 선택하여 중단점 목록을 해당 열별로 정렬합니다.
중단점 레이블
레이블을 사용하여 중단점 창에서 중단점 목록을 정렬하고 필터링할 수 있습니다.
- 중단점에 레이블을 추가하려면 소스 코드 또는 중단점 창에서 중단 점을 마우스 오른쪽 단추로 클릭한 다음 레이블 편집을 선택합니다. 새 레이블을 추가하거나 기존 레이블을 선택한 다음 확인을 선택합니다.
- 레이블, 조건 또는 기타 열 머리글을 선택하여 중단점 창에서 중단점 목록을 정렬합니다. 도구 모음에서 열 표시를 선택하여 표시할 열을 선택할 수 있습니다 .
중단점 그룹
복잡한 디버깅 시나리오의 경우 중단점 그룹을 만들어 중단점을 구성할 수 있습니다. 이를 통해 디버그하려는 현재 시나리오에 따라 중단점의 논리적 그룹화가 신속하게 활성화되고 비활성화될 수 있습니다.
중단점 그룹을 선택하고 그룹의 이름을 제공하여 > 창에서 중단점을 만들 수 있습니다. 그룹에 중단점을 추가하려면 중단점을 마우스 오른쪽 단추로 클릭하고 중단점 그룹><이름>에 추가를 선택합니다. 또는 중단점을 원하는 그룹으로 드래그하여 놓습니다.
기본 중단점 그룹을 설정하려면 그룹을 마우스 오른쪽 단추 로 클릭하고 기본 중단점 그룹으로 설정을 선택합니다. 기본 중단점 그룹을 설정하면 새로 만든 중단점이 그룹에 자동으로 추가됩니다.
중단점 내보내기 및 가져오기
중단점의 상태와 위치를 저장하거나 공유하려면 중단점을 내보내거나 가져올 수 있습니다.
Visual Studio 2022 버전 17.12 프리뷰 3부터 중단점 그룹도 내보내기 및 가져오기 작업에서 포함됩니다.
- 단일 중단점을 XML 파일로 내보내려면 소스 코드 또는 중단점 창에서 중단 점을 마우스 오른쪽 단추로 클릭하고 내보내기 또는 내보내기를 선택합니다. 내보내기 위치를 선택한 다음 저장을 선택합니다. 기본 위치는 솔루션 폴더입니다.
- 여러 중단점을 내보내려면 중단점 창에서 중단점 옆에 있는 상자를 선택하거나 검색 필드에 검색 조건을 입력합니다. 현재 검색 조건에 맞는 모든 중단점을 내보내기 아이콘을 선택하고 파일을 저장합니다.
- 모든 중단점을 내보내려면 모든 상자의 선택을 취소하고 검색 필드를 비워 둡니다. 현재 검색 조건에 맞는 모든 중단점을 내보내기 아이콘을 선택하고 파일을 저장합니다.
- 중단점을 가져오려면 중단점 창에서 파일 아이콘에서 중단점 가져오기를 선택하고 XML 파일 위치로 이동한 다음 열기를 선택합니다.
디버거 창에서 중단점 설정
호출 스택 및 디스어셈블리 디버거 창에서 중단점을 설정할 수도 있습니다.
호출 스택 창에서 중단점 설정
호출 함수가 반환하는 명령이나 줄을 중단하려면 호출 스택 창에서 중단점을 설정할 수 있습니다.
호출 스택 창에서 중단점을 설정하려면 다음을 수행합니다.
호출 스택 창을 열려면 디버깅하는 동안 일시 중지해야 합니다. 디버그>Windows>호출 스택을 선택하거나 혹은 Ctrl+Alt+C를 누릅니다.
호출 스택 창에서 호출 함수를 마우스 오른쪽 단추로 클릭하고 중단점> 선택하거나 F9 키를 누릅니다.
호출 스택의 왼쪽 여백에 있는 함수 호출 이름 옆에 중단점 기호가 나타납니다.
호출 스택 중단점은 함수의 다음 실행 명령에 해당하는 메모리 위치와 함께 중단점 창에 주소로 표시됩니다.
디버거는 명령어에서 멈춥니다.
호출 스택에 대한 자세한 내용은 방법: 호출 스택 창 사용을 참조하세요.
코드 실행 중에 중단점을 시각적으로 추적하려면 디버깅하는 동안 호출 스택의 Map 메서드를 참조하세요.
디스어셈블리 창에서 중단점 설정
디스어셈블리 창을 열려면 디버깅 중에 일시 중지해야 합니다. 디버그>Windows>디스어셈블리를 선택하거나 Ctrl+Alt+D를 누릅니다.
디스어셈블리 창에서 중단하려는 명령의 왼쪽 여백을 클릭합니다. F9를 누르거나 마우스 오른쪽 버튼을 클릭하고 중단점>을 선택할 수도 있습니다.
관련 콘텐츠
- 디버깅이란?
- Visual Studio 사용하여 더 나은 C# 코드 작성
- 먼저 디버깅 살펴보기
- Visual Studio 디버거 중단점 문제 해결