코드 디버그, 프로파일링 및 진단 | Visual Studio2023-05-15T12:52:33-07:00

빠르게 버그 찾기

간편하게 검사, 진단 및 프로파일링

디버그 언어 간 호환성

모든 코드에 대한 자세한 디버깅

디버깅하는 동안 편집기에서 변수에 대한 정보를 즉시 확인합니다. 데이터 팁을 사용하여 변수의 이름과 현재 값을 보고, 개체를 확장하고 해당 요소를 보고, 변수의 값을 편집합니다.

임의의 플랫폼이나 장소

로컬, 원격 및 프로덕션 환경

데스크톱이나 Android Emulator에서 로컬 Windows 앱을 시작하거나, 원격 Azure 인스턴스, iOS 디바이스 또는 게임 콘솔을 연결하거나, 웹 브라우저에서 실행하는 등 코드가 실행되는 곳이라면 어디서나 Visual Studio에서 코드를 디버그할 수 있습니다.

IntelliTrace 및 덤프 파일 심층 분석과 같은 기능을 사용하여 프로덕션 환경에서 오프라인으로 문제를 디버그할 수 있습니다.

디버깅 창 스크린샷

세분화된 제어

애플리케이션 실행을 중단하고 일시 중지할 정확한 위치와 시기를 결정합니다.

중단점을 사용하여 버그가 있다고 의심되는 곳에서 프로그램을 일시 중지합니다. 조건 및 작업이 포함된 고급 중단점을 사용해 보다 복잡한 시나리오를 평가하거나 의존적인 중단점을 사용해 애플리케이션 코드에서 공통 경로를 쉽게 디버깅하여 다음 단계로 넘어갑니다.

Run to cursor(커서까지 실행)를 사용하거나, Force run to cursor(커서까지 실행 강제)로 중단점을 잃지 않고 디버깅 빨리 감기를 사용하여 특정 줄에서 디버깅 모드로 전환하는 것이 훨씬 쉽습니다.

상태 검사의 유연성

어두운 테마의 동일한 이미지

원하는 지점에서 애플리케이션을 일시 중지한 후 Visual Studio에서 다양한 방법으로 변수 값을 검사하여 가설을 형성하거나 확인할 수 있습니다.

코드를 단계별로 실행하는 동안 값을 모니터링하고 로컬 변수를 검토하고 복합식을 평가하며, 이 모든 작업을 디버거 내에서 할 수 있습니다. 대화형으로 데이터 구조를 심층적으로 쿼리할 수도 있습니다.

잘못될 경우 경고 표시

코드 오류 및 예기치 않은 상황이 예외로 드러납니다. 예외는 앱 작동을 중단시키거나, 그 자체가 추적하기 어려운 버그가 됩니다.

Visual Studio에서 디버그하는 동안 예외 발생 시 알림을 구성하고 중점적으로 살펴볼 특정 관심 예외를 선택할 수도 있습니다. 내부 예외 정보 및 null 참조 분석에 대한 알림이 즉시 표시되며, 여기서부터는 중단점에 도달한 경우처럼 쉽게 진행됩니다.

Build rich cross-platform native apps

복잡한 다중 스레드 코드에 대한 제어 및 검사 간소화

다중 스레드 코드는 특히 디버그하기 어렵습니다. Visual Studio에서는 다중 스레드 실행을 한 번에 제어하고, 여러 스레드의 상태를 검사하여 상황을 큰 그림으로 확인할 수 있습니다.

모든 스레드 호출 스택을 단일 그래픽 보기에서 확인하고, 여러 스레드의 식을 평가하여 값을 비교합니다. 손쉽게 스레드와 작업에 대한 정보를 보고 이 정보에 플래그를 지정하고 고정시킵니다. 실행 컨텍스트 간에 신속하게 전환하고 스레드 표식을 사용하여 임의의 시점에 스레드가 실행 중인 코드 라인을 표시합니다.

Access everything you need in one place

코드 요구에 따른 심층 분석

특히 시스템 수준 C++ 코드의 경우, 발견하기 어려운 버그를 진단하기 위해 하드웨어 수준까지 면밀하게 접근해야 하는 경우가 있습니다. Visual Studio는 메모리, 레지스터 및 디스어셈블리 창에서 이를 수행하도록 지원합니다.

Build rich cross-platform native apps

빠르고 강력한 앱 만들기

코딩할 때 성능과 관련하여 최상의 선택을 하는 데 유용한 정보를 제공합니다. 디버그하는 동안 편집기 내의 PerfTips 및 진단 도구를 사용하여 코드의 성능 및 메모리 특성을 파악할 수 있습니다.

디버거 없이 포괄적인 프로파일링 도구를 사용하여 CPU, GPU, 메모리 사용과 같은 앱 성능과 UI 응답성 및 네트워크 사용률에 대한 심층적인 인사이트를 얻습니다.

Build rich cross-platform native apps

모든 요구 사항에 맞는 도구

CPU 사용량을 분석하거나 .NET 할당 도구를 사용하여 원치 않는 메모리 할당을 추적해야 하는 경우를 위해 성능 프로파일러에 성능 조사를 수행할 수 있는 도구가 있습니다.

Comprehensive performance toolkit

성능 문제를 검색하는 데 도움이 되는 시각화

성능 프로파일러에는 CPU 사용 도구의 불꽃 그래프와 같은 시각화가 풍부하여 CPU 시간의 대부분을 차지하는 코드 경로를 추적할 수 있습니다. 호출 스택에서 관심 함수를 찾았다면 소스 코드로 바로 이동하여 성능을 개선하세요!

Visualize expensive code paths

성능 인사이트 한눈에 보기

CPU 사용량 도구의 요약 페이지를 사용하여 빠르게 인사이트를 얻으세요! 성능 문제의 원인을 바로 파악할 수 있도록 상위 함수인 핫 경로가 강조 표시됩니다.

Summarized performance insights

“재현 안 됨” 문제 없음

.NET 코드에 대한 코드 실행 기록

편집하고 F5 키를 눌러 .NET 코드를 테스트하면 예기치 않은 동작인 버그가 발생합니다. 이 버그를 진단하는 데 몇 시간씩 걸리는 경우도 있습니다. 소스 코드를 검색하면서 관련 코드 조각을 찾고 중단점을 설정할 지점을 여러 번 반복적으로 추측하기 때문입니다.

Visual Studio 진단 도구와 IntelliTrace를 사용하면 코드 실행 기록을 확인하고 중단점 없이도 다시 이동하여 상태를 검사할 수 있습니다.

피드백