共用方式為


Windows 支援

重要

Visual Studio App Center 定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。

了解有關支援時間表和替代方案的詳細資訊

App Center 目前支援 UWP、WPF 和 WinForms 應用程式的診斷。 本節說明 UWP 應用程式作為 2.5.0 SDK 版本一部分的新體驗。 如需 WPF 和 WinForms 應用程式的詳細資訊,請參閱 診斷功能和WPF/WinForms SDK

通用 Windows 平台

App Center 支援使用 2.5.0 SDK 或更新版本的側載和 Windows 市集 UWP 應用程式的完整診斷功能集。 若要為 UWP 應用程式啟用 App Center 的診斷,請遵循 App Center 的 UWP SDK 檔案 來整合 App Center SDK。 您可以在診斷功能檔中深入瞭解完整的功能集

新的診斷體驗

在 2019 年 10 月的 2.5.0 SDK 版本中,App Center 發行了新的診斷體驗。 本節詳細說明新版本的改善和轉換體驗。

已進行哪些改進?

新的和改良的診斷體驗包括下列新增專案:

  • 可讓您在 App Center 中上傳符號的完整符號體驗。 如需詳細資訊,請參閱下方的符號一節。
  • 支援已處理的例外狀況
  • 每個當機或錯誤群組受影響的用戶數目
  • 能夠為每個當機或錯誤群組新增註釋
  • 將當機和錯誤群組標示為開啟、關閉或忽略的能力
  • 下載當機和錯誤報告的能力
  • 能夠將一個二進位和一個文字附件附加、檢視及下載到當機報表
  • 當機和錯誤報告每個當機實例的詳細數據,包括應用程式啟動時、當機時,以及裝置所使用的國家/地區和語言

您可以在 App Center 診斷檔中深入瞭解每項功能

轉換體驗為何?

更新至 App Center UWP SDK 2.5.0 版之後,您會在全新且改良的 UI 中看到進入 App Center 診斷入口網站的當機和錯誤數據。 針對新診斷 UI 中顯示的當機和錯誤數據,您必須使用 [錯誤] 區段底下所列的 API。 深入瞭解舊損毀 API 如何對應至 API 轉換檔中的新錯誤 API

符號

UWP 當機報告會顯示造成損毀之線程的堆疊追蹤。 當應用程式使用 .NET Native (通常是在發行組建中)時,堆棧追蹤可能包含記憶體位址,而不是讀取和了解當機所需的類別名稱、方法、檔名和行號。

未配置損毀

Unsymbolicated 當機會顯示在 App Center 診斷一節中,因此即使在上傳符號之前,您仍可檢視一些詳細數據。 這些損毀的遺漏符號會顯示在 [未布建] 索引卷標中。如果上傳遺漏的符號,則未布建的當機群組將會由符號化的當機群組取代。

上傳符號

若要取得翻譯的記憶體位址,您必須將檔案上傳 .appxsym 至 App Center,其中包含符號化所需的所有資訊。

在本機產生符號

若要取得.appxsym檔案,您必須建立應用程式套件組合,如這裡所述。 建立套件組合之後,您會在應用程式套件組合資料夾內找到符號檔案作為 .appxsym 檔案。

App Center 組建內建應用程式的符號

App Center 組建和散發服務可以自動產生有效的符號檔,並上傳至診斷服務。 如果您使用App Center來建置並自動將應用程式散發給使用者,則不需要手動取得符號檔案並將其上傳至App Center。

發行至 Microsoft 市集之應用程式的符號

當您將應用程式發佈至存放區時,.NET Native 編譯會在伺服器端發生。 因此,您必須從 合作夥伴中心下載符號。

  1. 在清單中找出您的應用程式,然後按下它。
  2. 從左側面板展開 [產品管理] 功能表。
  3. 按兩下 [ 管理套件]。
  4. 按兩下您想要符號的提交(版本)右上角的 [顯示套件]。
  5. 找出您需要符號的版本套件,然後按下所有支援架構的連結以下載所有符號(例如 下載 Windows 10 符號檔 (x64) 連結)。

注意

您的應用程式必須宣告任何 .NET Native 版本的相依性,才能產生偵錯符號。 此宣告應該包含在 <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 呼叫的主體應該設定 symbol_typeUWP

  1. POST觸發對symbol_uploads API 的要求。 此呼叫會在後端為您的檔案配置空間,並傳 symbol_upload_id 回 和 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使用從第一個步驟傳回的屬性,使用標頭提出PUT要求,"x-ms-blob-type: BlockBlob"並提供磁碟上檔案的位置。 此呼叫會將檔案上傳至後端記憶體帳戶。 深入瞭解 PUT Blob 要求標頭
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. 使用symbol_upload_id從第一PATCH個步驟傳回的屬性,向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 處理損毀,並以檔案上的符號盡可能完整地加以符號化。 完成處理之後,它們會出現在 [當機] 索引標籤中,部分符號化。 也相依於標示為忽略之相同符號標識元的新當機,將會在系統傳入並流經系統時略過 [未區分] 索引 卷標。

WinRT、Silverlight 和其他平臺

App Center 不支援 UWP、WPF 和 WinForms 以外的任何其他 Windows 平臺。 如果您有具有原生C++損毀的 Windows 應用程式,您可以透過 上傳當機 API 將這些損毀上傳至 App Center。