다음을 통해 공유


Windows 지원

Important

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. 완전히 사용 중지될 때까지 Visual Studio App Center를 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아봅니다.

App Center는 현재 UWP, WPF 및 WinForms 애플리케이션에 대한 진단을 지원합니다. 이 섹션에서는 2.5.0 SDK 릴리스의 일부로 UWP 앱에 대한 새로운 환경을 설명합니다. WPF 및 WinForms 애플리케이션에 대한 자세한 내용은 진단 기능WPF/WinForms SDK를 참조하세요.

유니버설 Windows 플랫폼

App Center는 2.5.0 SDK 이상 버전을 사용하여 테스트용으로 로드된 앱과 Windows 스토어 UWP 앱 모두에 대한 전체 진단 기능 집합을 지원합니다. UWP 앱에 대해 App Center의 진단을 사용하도록 설정하려면 App Center의 UWP SDK 설명서에 따라 App Center SDK를 통합합니다. 진단 기능 설명서에서 전체 기능 집합에 대해 자세히 알아볼 수 있습니다.

새 진단 환경

App Center는 2019년 10월 2.5.0 SDK 릴리스를 통해 새로운 진단 환경을 릴리스했습니다. 이 섹션에서는 새 릴리스의 향상된 기능 및 전환 환경에 대해 자세히 설명합니다.

어떤 개선이 이루어졌습니까?

새롭고 향상된 진단 환경에는 다음과 같은 추가 사항이 포함됩니다.

  • App Center에서 기호를 업로드할 수 있는 전체 기호화 환경입니다. 자세한 내용은 아래 기호화 섹션을 참조하세요.
  • 처리된 예외에 대한 지원
  • 크래시 또는 오류 그룹당 영향을 받는 사용자 수
  • 크래시 또는 오류 그룹당 주석을 추가하는 기능
  • 크래시 및 오류 그룹을 열기, 닫힘 또는 무시됨으로 표시하는 기능
  • 크래시 및 오류 보고서를 다운로드하는 기능
  • 크래시 보고서에 하나의 이진 파일과 하나의 텍스트 첨부 파일을 첨부, 보기 및 다운로드하는 기능
  • 크래시 인스턴스당 크래시 및 오류 보고서 세부 정보(앱이 시작된 시간, 충돌 시, 디바이스에서 사용한 국가/지역 및 언어 포함)

App Center 진단 설명서에서 각 기능에 대해 자세히 알아볼 수 있습니다.

전환 환경은 무엇인가요?

App Center UWP SDK 버전 2.5.0으로 업데이트한 후 새로운 향상된 UI에서 App Center 진단 포털에 크래시 및 오류 데이터가 들어오는 것을 볼 수 있습니다. 새 진단 UI에 표시되는 크래시 및 오류 데이터의 경우 오류 섹션 아래에 나열된 API를 사용해야 합니다. API 전환 설명서에서 이전 크래시 API가 새 오류 API에 매핑되는 방법에 대해 자세히 알아봅니다.

기호화

UWP 크래시 보고서에는 크래시가 발생한 스레드에 대한 스택 추적이 표시됩니다. 애플리케이션이 .NET 네이티브 사용하는 경우(일반적으로 릴리스 빌드에서) 스택 추적에는 크래시를 읽고 이해하는 데 필요한 클래스 이름, 메서드, 파일 이름 및 줄 번호 대신 메모리 주소가 포함될 수 있습니다.

구성되지 않은 충돌

심볼을 업로드하기 전에 몇 가지 세부 정보를 볼 수 있도록 App Center 진단 섹션에 압축 해제된 크래시가 표시됩니다. 이러한 크래시에서 누락된 기호는 "unsymbolicated" 탭에 표시됩니다. 누락된 기호가 업로드되면 심볼화되지 않은 충돌 그룹이 기호화된 크래시 그룹으로 대체됩니다.

기호 업로드

메모리 주소를 변환하려면 기호화에 필요한 모든 정보가 포함된 파일을 App Center에 업로드 .appxsym 해야 합니다.

기호를 로컬로 생성

파일을 가져오 .appxsym 려면 여기에 설명된 대로 앱 번들을 만들어야 합니다. 번들을 만든 후에는 기호 파일을 앱 번들 폴더 내에 파일로 .appxsym 찾을 수 있습니다.

App Center Build에서 빌드된 애플리케이션에 대한 기호

App Center 빌드 및 배포 서비스는 유효한 기호 파일을 자동으로 생성하고 진단 서비스에 업로드할 수 있습니다. App Center를 사용하여 최종 사용자에게 앱을 빌드하고 자동으로 배포하는 경우 기호 파일을 수동으로 가져와 App Center에 업로드할 필요가 없습니다.

Microsoft Store에 게시된 애플리케이션에 대한 기호

애플리케이션을 저장소에 게시하면 서버 쪽에서 .NET 네이티브 컴파일이 수행됩니다. 따라서 파트너 센터에서 기호를 다운로드해야 합니다.

  1. 목록에서 애플리케이션을 찾아 클릭합니다.
  2. 왼쪽 패널에서 제품 관리 메뉴를 확장합니다.
  3. 패키지 관리를 클릭합니다.
  4. 기호를 사용할 제출(버전)의 오른쪽 위 모서리에 있는 패키지 표시를 클릭합니다.
  5. 기호가 필요한 버전의 패키지를 찾고 지원되는 모든 아키텍처에 대한 링크를 클릭하여 모든 기호를 다운로드합니다(예: Windows 10 기호 파일 다운로드(x64) 링크).

참고 항목

애플리케이션은 디버그 기호를 생성하기 위해 모든 버전의 .NET 네이티브 종속성을 선언해야 합니다. 이 선언은 .의 섹션에 <Dependencies> 포함되어야 합니다 AppxManifest.xml. 예시:

<PackageDependency Name="Microsoft.NET.Native.Framework.2.2" MinVersion="2.2.29512.0" Publisher="CN=Microsoft Corporation, 0=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
<PackageDependency Name="Microsoft.NET.Native.Runtime.2.2" MinVersion="2 2.28604.0" Publisher="CN=Microsoft Corporation, 0=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>

App Center 포털

  1. App Center에 로그인하고 앱을 선택합니다.
  2. 왼쪽 메뉴에서 진단 섹션으로 이동하고 기호를 선택합니다.
  3. 오른쪽 위 모서리에서 기호 업로드를 클릭하고 파일을 업로드합니다 .
  4. App Center에서 기호를 인덱싱하면 크래시가 기호화됩니다.

App Center API

API를 통해 기호를 업로드하는 프로세스에는 일련의 세 가지 API 호출이 포함됩니다. 하나는 백 엔드에 공간을 할당하고, 다른 하나는 파일을 업로드하고, 다른 하나는 업로드 상태를 업데이트합니다. 첫 번째 API 호출의 본문은 .로 UWP설정 symbol_type 해야 합니다.

  1. POST symbol_uploads API에 대한 요청을 트리거합니다. 이 호출은 파일의 백 엔드에 공간을 할당하고 a symbol_upload_idupload_url 속성을 반환합니다.
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{JSON BODY}'
  1. 첫 번째 단계에서 반환된 upload_url 속성을 사용하여 헤더 "x-ms-blob-type: BlockBlob"PUT 사용하여 요청하고 디스크에 파일의 위치를 제공합니다. 이 호출은 백 엔드 스토리지 계정에 파일을 업로드합니다. PUT Blob 요청 헤더에 대해 자세히 알아봅니다 .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. 첫 번째 단계에서 반환된 PATCH속성을 사용하여 symbol_upload_id symbol_uploads API에 요청합니다. 요청 본문에서 업로드 상태를 업로드 committed 프로세스 aborted (성공적으로 완료)로 설정할지 또는 완료하지 못했는지를 지정합니다.
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{ "status": "committed" }'

참고 항목

기호 업로드 API는 256MB보다 큰 파일에 대해 작동하지 않습니다. App Center CLI를 사용하여 이러한 파일을 업로드합니다. App Center CLI 리포지토리의 지침에 따라 App Center CLI를 설치할 수 있습니다.

App Center CLI

CLI를 사용하여 기호 파일을 업로드할 수도 있습니다.

appcenter crashes upload-symbols --appxsym {symbol file}

기호 무시

App Center에 충돌 보고서를 완전히 기호화할 기호 파일이 모두 없는 경우 충돌은 동기화되지 않은 탭에 나열됩니다. 필요한 기호는 액세스 권한이 있는 경우 이 페이지에서 업로드됩니다.

기호를 업로드할 수 없는 경우 표에서 행을 선택하고 버전 무시 단추를 클릭하여 기호를 무시됨으로 표시할 수 있습니다. 이 단추는 App Center에 크래시를 처리하고 파일의 기호를 사용하여 가능한 한 완전히 기호화하도록 지시합니다. 처리가 완료되면 크래시 탭에 부분적으로 기호화된 상태로 표시됩니다. 무시된 것으로 표시된 것과 동일한 기호 ID에 따라 달라지는 새로운 충돌은 시스템 내부로 들어오고 흐를 때 구체화되지 않은 탭을 무시합니다.

WinRT, Silverlight 및 기타 플랫폼

App Center는 UWP, WPF 및 WinForms 외에 다른 Windows 플랫폼을 지원하지 않습니다. 네이티브 C++ 크래시가 있는 Windows 앱이 있는 경우 업로드 크래시 API를 통해 이러한 크래시를 App Center에 업로드할 수 있습니다.