Share via


Visual Studio 2013 디버거의 새로운 기능

목차

Asynchronous Debugging in Windows Store Apps

Just My Code for C++ and JavaScript Debugging

64-bit Edit and Continue for the .NET Framework

Return value inspection for .NET Framework Methods

.NET Framework Memory Analysis with Dump Files

Debug with Debugging Tools for Windows

Code Map Debugging

IntelliTrace Debugging

Windows 스토어 앱의 비동기 디버깅

디버거의 Windows 런타임 비동기 프로그래밍 모델 지원이 향상되었습니다..NET Framework 언어에서 모델은 async/await 키워드(Visual Basic의 Async/Await)를 통해 표현됩니다.C++ 및 C++/Cx에서는 task 개체 및 .then 연속에서 모델이 지원됩니다.그리고 JavaScript는 promise 개체 및 .then 연속을 사용합니다.

  • 호출 스택 창에는 [Async Call] 정보 프레임에서 비동기 함수를 호출하는 메서드가 표시됩니다.

  • 작업 창(이전에는 병렬 작업 창이라고 함)에는 작업에 대한 향상된 정보와 함께 새 모델을 작업으로 표시합니다.작업 창 사용을 참조하십시오.

  • C++ Windows 스토어 앱에 대한 확장된 예외 보고 Visual Studio 디버거는 Windows 런타임 구성 요소에서 발생하는 C++ 예외 사항에 대해서 스택 추적 캡처를 지원합니다.디버거는 Platform::Exception에서 파생된 예외 개체에서 가능할 때마다 캡처한 스택 추적을 표시할 수 있습니다.

    예외가 발생한 지점의 첫 번째 예외에서 디버거에 의해 표시되는 예외 대화 상자에서 스택 추적을 나열합니다.

    $exceptionstackpsuedovariable조사식 창에 추가하여 디버깅 세션에서 추가 Windows 런타임 예외를 검사할 수 있습니다.현재 스레드에서 예외가 발생하는 경우 조사식 윈도우에서 엔트리를 확장시켜 스택 추적을 확인하고 예외를 발생시킨 소스 코드로 이동할 수 있습니다.예외 대화 상자의 $exceptionstack조사식에 예외 스택 추적 추가 링크를 선택하여 를 볼 수도 있습니다.

    자세한 내용은 Visual Studio ALM + Team Foundation Server 블로그에서 이 게시물을 참조하세요.

C++ 및 JavaScript 디버깅을 위한 JMC(내 코드만)

[내 코드만]은 시스템, Win.JS 및 타사 라이브러리의 코드와 같이 사용자가 작성하지 않은 코드를 호출 스택 창에서 숨깁니다.[내 코드만]을 사용하여 비동기 코드를 디버깅하거나 JavaScript 및 C++로 혼합 모드에서 디버깅하면 방법을 찾기가 훨씬 쉬워집니다.

내 코드만은 Visual Studio 2013에 기본적으로 사용됩니다.호출 스택의 모든 코드를 보려면 디버그 메뉴에서 옵션 및 설정을 선택한 후 내 코드만 사용 확인란의 선택을 취소합니다.내 코드만 지원하는 모든 프로그래밍 언어에 이 설정이 적용됩니다.

.NET Framework용 64비트 편집하며 계속하기

이제 디버거는 편집을 지원하고 64비트 플랫폼을 대상으로 하는 응용 프로그램을 계속 지원합니다.

.NET Framework 메서드에 대한 반환 값 검사

자동 창에서 메서드의 반환 값을 볼 수 있습니다.이는 포함된 메서드(다른 함수에 변수로 전달되는 메서드)에 특히 유용합니다.

코드 편집기의 포함 메서드자동 창의 메서드 반환 값

메서드 호출의 반환 값 검사을 참조하십시오.

덤프 파일을 사용한 .NET Framework 메모리 분석

프로덕션 환경에서 실행되는 .NET 응용 프로그램에 자주 영향을 주는 문제 중 하나는 메모리 사용 응용 프로그램과 잠재적으로 전체 시스템에 영향을 줄 수 있는 문제입니다.Visual Studio 2013은 .NET Framework 웹, 데이터베이스 및 데스크톱 응용 프로그램에서 메모리 누수, 비효율적인 메모리 사용, 불필요한 메모리 할당을 찾을 수 있도록 덤프 파일 분석 도구를 확장합니다.

[!참고]

.NET Framework 덤프 파일의 메모리 분석은 Windows 저장소 응용 프로그램을 지원하지 않습니다.JavaScript 앱에 대한 자세한 내용은 Windows 스토어 앱의 메모리 사용 분석(JavaScript)을 참조하세요.

.NET 메모리 분석 도구에 대한 자세한 내용은 Visual Studio ALM + Team Foundation Server 블로그에서 이 게시물(영문)을 참조하세요.덤프 파일에 대한 자세한 내용은 Visual Studio에서 덤프 파일을 사용하여 응용 프로그램 충돌 및 중지 문제 디버깅를 참조하십시오.

Windows용 디버깅 도구로 디버그

[!참고]

WinDbg에서 관리되는 프로그램을 디버깅하는 데 도움이 되는 SOS.dll(SOS 디버깅 확장)은 Visual Studio IDE에서 사용할 수 없습니다.Windows 디버거를 사용하여 관리 코드 디버깅(영문)을 참조하세요.

Visual Studio IDE에서 Windows용 디버깅 도구를 사용할 수 있습니다.WDK(Windows 드라이버 키트)에 포함된 디버깅 도구를 설치해야 합니다.Windows 8.1 Preview: 키트 및 도구 다운로드를 참조하세요.

코드 맵 디버깅

Visual Studio Ultimate에서 코드 맵을 만들어 디버깅하는 동안 호출 스택을 시각화합니다.또한 코드 맵을 사용하여 코드 주위를 탐색할 수도 있습니다.Visual Studio에서 디버깅하는 동안 호출 스택의 맵 메서드을 참조하십시오.

코드 맵의 호출 스택으로 디버그

IntelliTrace 디버깅

  • 앱의 배포 문제를 모니터링합니다.

    Microsoft Monitoring Agent만 사용하거나 System Center 2012를 함께 사용하여 IIS 웹 응용 프로그램에서 로컬로 예외 및 성능 이벤트를 모니터링합니다.Visual Studio Ultimate에서 이들 문제를 더 자세히 조사하고 특정 이벤트에서 디버깅을 시작할 때 배포된 코드로 이동할 수 있도록 IntelliTrace 로그에 예외 및 성능 이벤트를 기록할 수 있습니다.

    성능 이벤트 정보 보기

    메서드 호출에서 디버깅 시작

    성능 이벤트에서 응용 프로그램 코드로 이동

  • Microsoft SharePoint 2010 및 SharePoint 2013 응용 프로그램에서 Microsoft Monitoring Agent로 배포된 진단 이벤트를 기록합니다.

    Visual Studio Ultimate에서 이들 문제를 더 자세히 조사하고 IntelliTrace로 특정 이벤트에서 디버깅을 시작할 수 있도록 IntelliTrace 로그에 사용자 프로필 이벤트, ULS(Unified Logging System) 이벤트 및 IntelliTrace 이벤트를 기록할 수 있습니다.

    IntelliTrace 로그 파일 - 웹 요청 + 이벤트 보기

배포 후 문제를 진단하기 위해 릴리스를 설정System Center 2012 R2 Operations Manager의 새로운 기능을 참조하세요.

참고 항목

개념

디버거 보안

기타 리소스

Visual Studio의 디버깅