Podpora windows

Důležité

Visual Studio App Center bylo vyřazeno 31. března 2025 s výjimkou funkcí Analýzy a diagnostiky, které se budou dál podporovat až do 30. června 2026. Další informace.

App Center v současné době podporuje diagnostiku pro aplikace UPW, WPF a WinForms. Tato část vysvětluje nové prostředí pro aplikace pro UPW v rámci vydání sady SDK verze 2.5.0. Další informace o aplikacích WPF a WinForms najdete v tématu Diagnostické funkce a sada WPF/WinForms SDK.

Univerzální platforma Windows

App Center podporuje úplnou sadu funkcí diagnostiky pro aplikace UWP sideloadované i ve Windows Store pomocí sady SDK 2.5.0 nebo novějších verzí. Pokud chcete povolit diagnostiku App Center pro vaši aplikaci UWP, postupujte podle pokynů v dokumentaci sady App Center SDK pro UWP a integrujte sadu App Center SDK. Další informace o kompletní sadě funkcí najdete v dokumentaci k diagnostickým funkcím.

Nové prostředí diagnostiky

S vydáním sady SDK 2.5.0 v říjnu 2019 vydala App Center nové prostředí diagnostiky. Tato část podrobně popisuje vylepšení a možnosti přechodu v nové verzi.

Jaká vylepšení byla provedena?

Nové a vylepšené prostředí diagnostiky zahrnuje následující doplňky:

  • Plnohodnotné symbolické prostředí, které umožňuje nahrát symboly v App Center. Další podrobnosti najdete v části symbolika níže.
  • Podpora zpracovaných výjimek
  • Počet ovlivněných uživatelů podle chyby nebo skupiny chyb
  • Možnost přidávat poznámky pro každé chybové ukončení nebo skupinu chyb
  • Možnost označit pády a skupiny chyb jako otevřené, zavřené nebo ignorované.
  • Možnost stahování zpráv o pádu a zpráv o chybách
  • Možnost připojení, zobrazení a stažení jednoho binárního souboru a jedné textové přílohy do zpráv o chybách
  • Podrobnosti o chybovém ukončení a zprávě o chybách pro každou instanci chybového ukončení, včetně toho, kdy se aplikace spustila, kdy došlo k chybovému ukončení a jaké zemi/oblasti a jazyku zařízení použilo

Další informace o jednotlivých funkcích najdete v dokumentaci k diagnostice App Center.

Jaké je prostředí přechodu?

Po aktualizaci na sadu App Center UWP SDK verze 2.5.0 uvidíte na portálu App Center Diagnostics data o crashech a chybách přicházející v novém a vylepšeném uživatelském rozhraní. V případě chybového ukončení a chybových dat zobrazených v novém uživatelském rozhraní diagnostiky musíte použít rozhraní API uvedená v části chyby. Další informace o tom, jak stará rozhraní API chyb mapují na nová rozhraní API chyb, najdete v dokumentaci k přechodu rozhraní API.

Symbolika

Sestavy pádů UWP zobrazují trasování zásobníku pro vlákno, které způsobilo pád. Pokud aplikace používá .NET Native (obvykle v buildech vydaných verzí), může trasování zásobníku obsahovat adresy paměti místo názvů tříd, metod, názvů souborů a čísel řádků potřebných ke čtení a pochopení chybových ukončení.

Nesymbolikované pády

Nesymbolikované pády jsou zobrazeny v sekci Diagnostika v App Center, takže můžete vidět některé podrobnosti, i když ještě nebyly nahrány symboly. Chybějící symboly z těchto chyb se zobrazí na kartě "Neznaménkované". Pokud se chybějící symboly nahrají, neskupinová skupina havárií bude nahrazena skupinou havárií, která je symbolikovaná.

Nahrání symbolů

Pokud chcete přeložit adresy paměti, musíte nahrát .appxsym soubor do App Center, který obsahuje všechny informace potřebné pro symboliku.

Místní generování symbolů

Pokud chcete získat .appxsym soubor, musíte vytvořit sadu aplikací, jak je popsáno zde. Po vytvoření balíčku najdete soubor symbolů ve formě .appxsym souboru ve složce balíčku aplikace.

Symboly pro aplikace integrované v buildu App Center

Služby App Center pro sestavení a distribuci můžou automaticky vygenerovat platný soubor symbolů a nahrát je do služby Diagnostika. Pokud k vytváření a automatické distribuci aplikace koncovým uživatelům používáte App Center, nemusíte soubory symbolů do App Center získávat a nahrávat ručně.

Symboly pro aplikace publikované v Microsoft Storu

Při publikování aplikace do úložiště probíhá kompilace .NET Native na straně serveru. Proto si musíte symboly stáhnout z Partnerského centra.

  1. Vyhledejte aplikaci v seznamu a klikněte na ni.
  2. Z levého panelu rozbalte nabídku Správa produktů .
  3. Klikněte na Spravovat balíčky.
  4. Klikněte na Zobrazit balíčky v pravém horním rohu pro odeslání (verzi), pro které chcete symboly.
  5. Vyhledejte balíček pro verzi, pro kterou potřebujete symboly, a kliknutím na odkazy pro všechny podporované architektury stáhněte všechny symboly (například stáhnout soubor symbolů Windows 10 (x64).

Poznámka:

Aplikace musí deklarovat závislost na libovolné verzi .NET Native, aby vygenerovala symboly ladění. Tato deklarace by měla být zahrnuta v <Dependencies> sekci vašeho AppxManifest.xmloddílu. Příklad:

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

Portál centra aplikací

  1. Přihlaste se do App Center a vyberte svou aplikaci.
  2. V nabídce vlevo přejděte do části Diagnostika a vyberte Symboly.
  3. V pravém horním rohu klikněte na Nahrát symboly a nahrajte soubor.
  4. Jakmile jsou symboly indexovány App Centerem, chybová hlášení budou pro vás symbolizována.

App Center API

Proces nahrávání symbolů prostřednictvím rozhraní API zahrnuje řadu tří volání rozhraní API: jedno pro přidělení místa na back-endu, jeden pro nahrání souboru a jeden pro aktualizaci stavu nahrávání. Tělo prvního volání rozhraní API by mělo být nastavené symbol_type na UWP.

  1. Aktivujte POST požadavek na rozhraní API symbol_uploads. Toto volání přidělí místo na našem serverovém systému pro váš soubor a vrátí symbol_upload_id vlastnost a upload_url vlastnost.
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 Pomocí vlastnosti vrácené z prvního kroku vytvořte požadavek s hlavičkouPUT: "x-ms-blob-type: BlockBlob" a zadejte umístění souboru na disku. Toto volání nahraje soubor do úložiště na našem backendu. Přečtěte si další informace o hlavičkách požadavku PUT Blob .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Vytvořte požadavek na API PATCH pomocí vrácené vlastnosti z prvního kroku. V textu požadavku určete, jestli chcete nastavit stav nahrávání na committed proces nahrávání (úspěšně dokončeno), nebo aborted (neúspěšně dokončeno).
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" }'

Poznámka:

Rozhraní API pro nahrávání symbolů nefunguje u souborů větších než 256 MB. K nahrání těchto souborů použijte rozhraní příkazového řádku App Center. Rozhraní příkazového řádku App Center můžete nainstalovat podle pokynů v úložišti rozhraní příkazového řádku App Center.

Rozhraní příkazového řádku App Center

Soubory symbolů můžete nahrát také pomocí rozhraní příkazového řádku:

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

Ignorování symbolů

Pokud App Center neobsahuje všechny soubory symbolů potřebné ke kompletní symbolizaci hlášení o chybách, jsou chyby uvedeny na kartě Nesymbolizované. Požadované symboly mohou být nahrány z této stránky, pokud k nim máte přístup.

Pokud symboly nemůžete nahrát, můžete je označit jako Ignorované tak, že vyberete řádky v tabulce a kliknete na tlačítko Ignorovat verze . Toto tlačítko instruuje App Center, aby zpracovával pády a symbolikoval je s využitím dostupných symbolů. Jakmile zpracování dokončí, zobrazí se na záložce Pády částečně symbolizováno. Nové chyby, které také závisejí na stejných ID symbolů označených jako ignorované, vynechají kartu Unsymbolicated, jakmile projdou systémem.

WinRT, Silverlight a další platformy

App Center nepodporuje žádné jiné platformy Windows kromě UPW, WPF a WinForms. Pokud máte aplikaci pro Windows, která se kvůli pádu nativního kódu C++ zhroutí, můžete tyto pády nahrát do App Center pomocí rozhraní API pro nahrávání pádů.