예외 도우미를 사용하여 예외 검사
기술이나 전문 지식 수준에 관계없이 예외를 처리하는 것은 일반적인 문제입니다. 예외가 코드에서 문제를 일으키는 이유를 알아내는 것은 실망스러울 수 있습니다. Visual Studio에서 예외를 디버깅하는 경우 문제를 더 빠르게 디버그하는 데 도움이 되는 관련 예외 정보를 제공하여 이러한 불만을 줄이려고 합니다.
예외 발생 시 일시 중지
예외에서 디버거가 중단되면 해당 코드 줄의 오른쪽에 예외 오류 아이콘이 나타납니다. 모달이 아닌 예외 도우미가 예외 아이콘 근처에 표시됩니다.
예외 정보 검사
예외 도우미에서 예외 유형 및 예외 메시지를 즉시 읽고 예외가 throw되었는지 또는 처리되지 않았는지 여부를 읽을 수 있습니다. 세부 정보 보기 링크를 클릭하여 Exception 개체의 속성을 검사하고 볼 수 있습니다.
null 참조 분석
Visual Studio 2017부터 .NET 및 C/C++ 코드 모두에 대해 NullReferenceException
또는 AccessViolation
적중하면 예외 도우미에 null 분석 정보가 표시됩니다. 분석은 예외 메시지 아래에 텍스트로 표시됩니다. 아래 그림에서 정보는 " null이었습니다."로 표시됩니다.
메모
관리 코드의 Null 참조 분석에는 .NET 버전 4.6.2가 필요합니다. Null 분석은 현재 UWP(유니버설 Windows 플랫폼) 및 기타 .NET Core 애플리케이션에서 지원되지 않습니다. JIT(Just-In-Time) 코드 최적화가 없는 코드를 디버깅하는 동안에만 사용할 수 있습니다.
예외 설정 구성
예외 도우미의 예외 설정 섹션에서 현재 형식의 예외가 throw될 때 중단되도록 디버거를 구성할 수 있습니다. ko-KR: 발생된 예외에서 디버거가 일시 중지된 경우, 확인란을 사용하여 나중에 해당 예외 유형이 발생되더라도 중단되지 않도록 설정할 수 있습니다. 이 특정 모듈에서 발생하는 이 예외에 대해 중단을 원하지 않는다면, 예외 설정 창에서 다음에서 발생한 경우 제외: 항목 아래의 해당 모듈 이름 옆 확인란을 선택하십시오.
내부 예외 검사
예외에 내부 예외(InnerException있는 경우 예외 도우미에서 볼 수 있습니다. 여러 예외가 있는 경우 호출 스택 위에 표시된 왼쪽 및 오른쪽 화살표를 사용하여 예외를 탐색할 수 있습니다.
가 있는 예외 도우미
다시 throw된 예외 검사
예외가 thrown
경우 예외 도우미는 예외가 처음 throw되었을 때부터 호출 스택을 표시합니다. 예외가 여러 번 throw된 경우 원래 예외의 호출 스택만 표시됩니다.
다시 던져진 예외가 있는
비동기 예외 검사(.NET)
.NET 9부터는 비동기 작업 메서드가 .NET Framework 코드 내에서 예외를 throw하면 Visual Studio 디버거가 자동으로 중단됩니다. 따라서 특히 ASP.NET 비동기 코드를 디버그하는 것이 더 쉽습니다. 예외가 종종 비동기 경계를 넘어 throw되기 때문입니다.
호출 스택 보기
Visual Studio 2022 버전 17.3부터 호출 스택 창 내에서 예외 스택 프레임을 볼 수 있습니다. 비동기 예외의 경우 기호를 빠르게 로드하거나 원본을 찾고 예외 사이트로 직접 이동하는 기능이 추가됩니다. 호출 스택 창 내의 예외 스택 프레임은 자동 탐색, 프레임 간에 빠르게 앞뒤로 전환, 기호 로드 및 디컴파일 옵션과 같은 표준 호출 스택 기능을 제공하여 예외가 throw된 소스 코드로 돌아갑니다.
호출 스택
AI 지원 받기
copilot있는 경우 예외를 디버깅하는 동안 AI 지원을 받을 수 있습니다. 부조종사에게 물어보기 단추의 단추입니다. 이러한 시나리오에서 Copilot는 질문의 컨텍스트를 이미 알고 있으므로 채팅에서 컨텍스트를 직접 제공할 필요가 없습니다. 자세한 내용은 Copilot 디버그를 참조하세요.
Live Share를 사용하여 디버그 세션 공유
예외 도우미에서 Start Live Share session...링크를 사용하여 Live Share 세션을 시작할 수 있습니다. Live Share 세션에 참가하는 모든 사용자는 예외 도우미와 다른 디버그 정보를 함께 볼 수 있습니다.