Udostępnij za pośrednictwem


Obsługa systemu Windows

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że można nadal używać programu Visual Studio App Center do momentu jego pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Usługa App Center obsługuje obecnie diagnostykę aplikacji platformy UWP, WPF i WinForms. W tej sekcji opisano nowe środowisko aplikacji platformy UNIWERSALNEJ systemu Windows w ramach wersji 2.5.0 SDK. Aby uzyskać więcej informacji na temat aplikacji WPF i WinForms, zobacz funkcje diagnostyczne i zestaw WPF/WinForms SDK.

Platforma uniwersalna systemu Windows

Usługa App Center obsługuje zestaw funkcji pełnej diagnostyki dla aplikacji platformy UWP ładowanych bezpośrednio i ze Sklepu Windows przy użyciu zestawu SDK w wersji 2.5.0 lub nowszej. Aby włączyć diagnostykę centrum aplikacji dla aplikacji platformy UNIWERSALNEJ systemu Windows, postępuj zgodnie z dokumentacją zestawu SDK platformy UWP centrum aplikacji, aby zintegrować zestaw SDK centrum aplikacji. Więcej informacji na temat pełnego zestawu funkcji można znaleźć w dokumentacji funkcji diagnostycznych.

Nowe środowisko diagnostyki

W wersji 2.5.0 SDK w październiku 2019 r. centrum App Center wydało nowe środowisko diagnostyczne. Ta sekcja zawiera szczegółowe informacje na temat ulepszeń i środowiska przejścia w nowej wersji.

Jakie ulepszenia zostały wprowadzone?

Nowe i ulepszone środowisko diagnostyki obejmuje następujące dodatki:

  • Pełne środowisko symboliczne, które umożliwia przekazywanie symboli w Centrum aplikacji. Aby uzyskać więcej informacji, zobacz sekcję symboliczną poniżej.
  • Obsługa obsługiwanych wyjątków
  • Liczba użytkowników, których dotyczy awaria lub grupa błędów
  • Możliwość dodawania adnotacji na grupę awarii lub błędów
  • Możliwość oznaczania grup awarii i błędów jako otwartych, zamkniętych lub ignorowanych
  • Możliwość pobierania raportów o awariach i błędach
  • Możliwość dołączania, wyświetlania i pobierania jednego pliku binarnego oraz jednego załącznika tekstowego do raportów awarii
  • Szczegóły raportu o awarii i błędach dla wystąpienia awarii, w tym czas uruchomienia aplikacji, awaria oraz kraj/region i język używanego urządzenia

Więcej informacji na temat każdej funkcji można znaleźć w dokumentacji diagnostyki centrum aplikacji.

Jakie jest środowisko przejścia?

Po aktualizacji do zestawu SDK platformy UNIWERSALNEJ systemu Windows w centrum aplikacji w wersji 2.5.0 w nowym i ulepszonym interfejsie użytkownika zostaną wyświetlone dane o awarii i błędach pochodzące z portalu diagnostyki Centrum aplikacji. W przypadku danych o awarii i błędach wyświetlanych w nowym interfejsie użytkownika diagnostyki należy użyć interfejsów API wymienionych w sekcji błędów. Dowiedz się więcej o tym, jak stare interfejsy API ulega awarii mapowanie na nowe interfejsy API błędów w dokumentacji przejścia interfejsu API.

Symboliczne

Raporty awarii platformy UWP pokazują ślad stosu dla wątku, który spowodował awarię. Gdy aplikacja używa platformy .NET Native (zazwyczaj w kompilacjach wydania), ślad stosu może zawierać adresy pamięci zamiast nazw klas, metod, nazw plików i numerów wierszy potrzebnych do odczytania i zrozumienia awarii.

Niesymbolicowane awarie

Niesymbolicowane awarie są wyświetlane w sekcji Diagnostyka Centrum aplikacji, dzięki czemu można wyświetlić pewne szczegóły jeszcze przed przekazaniem symboli. Brakujące symbole z tych awarii zostaną wyświetlone na karcie "unsymbolicated". Jeśli brakujące symbole zostaną przekazane, niesymbolicowana grupa awarii zostanie zamieniona przez symboliczną grupę awarii.

Przekazywanie symboli

Aby uzyskać przetłumaczone adresy pamięci, musisz przekazać .appxsym plik do centrum aplikacji, który zawiera wszystkie informacje wymagane do obsługi symbolicznej.

Lokalne generowanie symboli

Aby uzyskać .appxsym plik, należy utworzyć pakiet aplikacji zgodnie z opisem w tym miejscu. Po utworzeniu pakietu znajdziesz plik symboli jako .appxsym plik w folderze pakietu aplikacji.

Symbole dla aplikacji wbudowanych w kompilację usługi App Center

Usługi kompilacji i dystrybucji centrum aplikacji mogą automatycznie wygenerować prawidłowy plik symboli i przekazać go do usługi diagnostyki. Jeśli używasz centrum aplikacji do kompilowania i automatycznego dystrybuowania aplikacji do użytkowników końcowych, nie musisz ręcznie uzyskiwać i przekazywać plików symboli do Centrum aplikacji.

Symbole dla aplikacji opublikowanych w sklepie Microsoft Store

Podczas publikowania aplikacji w magazynie kompilacja programu .NET Native odbywa się po stronie serwera. Dlatego musisz pobrać symbole z Centrum partnerskiego.

  1. Znajdź aplikację na liście i kliknij ją.
  2. Rozwiń menu Zarządzanie produktami w panelu po lewej stronie.
  3. Kliknij pozycję Zarządzaj pakietami.
  4. Kliknij pozycję Pokaż pakiety w prawym górnym rogu dla pozycji Przesyłanie (wersja), dla której mają być symbole.
  5. Znajdź pakiet dla potrzebnej wersji, a następnie kliknij linki dla wszystkich obsługiwanych architektur, aby pobrać wszystkie symbole (na przykład link Pobierz plik symboli systemu Windows 10 (x64).

Uwaga

Aplikacja musi zadeklarować zależność od dowolnej wersji platformy .NET Native, aby wygenerować symbole debugowania. Ta deklaracja powinna zostać uwzględniona w <Dependencies> sekcji pliku AppxManifest.xml. Przykład:

<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"/>

Portal Centrum aplikacji

  1. Zaloguj się do Centrum aplikacji i wybierz aplikację.
  2. W menu po lewej stronie przejdź do sekcji Diagnostyka i wybierz pozycję Symbole.
  3. W prawym górnym rogu kliknij pozycję Przekaż symbole i przekaż plik.
  4. Gdy symbole zostaną zaindeksowane przez centrum aplikacji, awarie zostaną symboliczne.

Interfejs API centrum aplikacji

Proces przekazywania symboli za pośrednictwem interfejsu API obejmuje serię trzech wywołań interfejsu API: jeden do przydzielenia miejsca na zapleczu, jeden do przekazania pliku i jeden w celu zaktualizowania stanu przekazywania. Treść pierwszego wywołania interfejsu API powinna mieć wartość symbol_typeUWP.

  1. Wyzwalanie POST żądania do interfejsu API symbol_uploads. To wywołanie przydziela miejsce na zapleczu dla pliku i zwraca symbol_upload_id właściwość i upload_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 Używając właściwości zwróconej w pierwszym kroku, utwórz PUT żądanie z nagłówkiem : "x-ms-blob-type: BlockBlob" i podaj lokalizację pliku na dysku. To wywołanie przekazuje plik do kont magazynu zaplecza. Dowiedz się więcej o nagłówkach żądań obiektów blob PUT.
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. PATCH Prześlij żądanie do interfejsu API symbol_uploads przy użyciu symbol_upload_id właściwości zwróconej w pierwszym kroku. W treści żądania określ, czy chcesz ustawić stan przekazywania committed na (pomyślnie ukończony) proces przekazywania lub aborted (zakończone niepowodzeniem).
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" }'

Uwaga

Interfejs API przekazywania symboli nie działa w przypadku plików większych niż 256 MB. Użyj interfejsu wiersza polecenia centrum aplikacji, aby przekazać te pliki. Interfejs wiersza polecenia centrum aplikacji można zainstalować, postępując zgodnie z instrukcjami w repozytorium interfejsu wiersza polecenia centrum aplikacji.

Interfejs wiersza polecenia centrum aplikacji

Możesz również użyć interfejsu wiersza polecenia, aby przekazać pliki symboli:

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

Ignorowanie symboli

Gdy usługa App Center nie ma wszystkich plików symboli do pełnego symbolicznego raportowania awarii, awarie są wyświetlane na karcie Unsymbolicated . Wymagane symbole są przekazywane z tej strony, jeśli masz do nich dostęp.

Jeśli nie możesz przekazać symboli, możesz oznaczyć je jako ignorowane, wybierając wiersze w tabeli i klikając przycisk Ignoruj wersje. Ten przycisk nakazuje centrum aplikacji przetwarzanie awarii i symboliczne ich jak najpełniejsze użycie symboli w pliku. Po zakończeniu przetwarzania zostaną one wyświetlone na karcie Awarie częściowo symboliczne. Nowe awarie, które również zależą od tych samych identyfikatorów symboli oznaczonych jako ignorowane, pominie kartę Unsymbolicated , gdy wchodzą i przepływają przez system.

WinRT, Silverlight i inne platformy

Usługa App Center nie obsługuje żadnych innych platform systemu Windows oprócz platform UWP, WPF i WinForms. Jeśli masz aplikację systemu Windows z natywną awarią języka C++, możesz przekazać te awarie do Centrum aplikacji za pośrednictwem interfejsu API awarii przekazywania.