這很重要
Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。
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 版之後,您會在 App Center 診斷入口網站中,透過全新且改良的 UI,看到當機和錯誤數據。 針對新診斷 UI 中顯示的當機和錯誤數據,您必須使用 [ 錯誤] 區段底下所列的 API。 深入瞭解舊崩潰 API 如何對應到 API 過渡文件中的新錯誤 API。
符號
UWP 當機報告會顯示造成損毀之線程的堆疊追蹤。 當應用程式使用 .NET Native (通常是在發行組建中)時,堆棧追蹤可能包含記憶體位址,而不是讀取和了解當機所需的類別名稱、方法、檔名和行號。
未符號化的崩潰報告
未符號化的當機紀錄會顯示在 App Center 的診斷部分,因此即使在上傳符號之前,您仍可查看一些詳細資訊。 這些崩潰的遺漏符號會顯示在 [未符號化] 索引卷標中。如果上傳遺漏的符號,則未符號化的當機群組將會由符號化的當機群組取代。
上傳符號
若要取得翻譯的記憶體位址,您必須將 .appxsym 檔案上傳至 App Center,其中包含進行符號化所需的所有資訊。
在本機生成符號
若要取得 .appxsym 檔案,您必須建立應用程式套件組合,如 這裡所述。 建立套件組合之後,您會在應用程式套件組合資料夾內找到符號檔案作為 .appxsym 檔案。
App Center Build 中建置的應用程式之符號
App Center 組建和散發服務可以自動產生有效的符號檔,並上傳至診斷服務。 如果您使用App Center來建置並自動將應用程式散發給使用者,則不需要手動取得符號檔案並將其上傳至App Center。
發行至 Microsoft 市集之應用程式的符號
當您將應用程式發佈至存放區時,.NET Native 編譯會在伺服器端發生。 因此,您必須從 合作夥伴中心下載符號。
- 在清單中找出您的應用程式,然後按下它。
- 從左側面板展開 [產品管理] 功能表。
- 點選管理套件。
- 您想要取得符號的提交項目(版本),請在右上角點擊顯示套件。
- 找出您需要符號的版本套件,然後按下所有支援架構的連結以下載所有符號(例如 下載 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 入口網站
- 登入 App Center 並選取您的應用程式。
- 在左側功能表中,流覽至 [ 診斷] 區 段,然後選取 [ 符號]。
- 在右上角,按兩下 [上傳符號] 並上傳檔案。
- App Center 為符號編製索引之後,系統將會為您建立損毀符號。
App Center API
透過 API 上傳符號的程式牽涉到一系列三個 API 呼叫:一個用來配置後端的空間、一個用來上傳檔案,另一個用來更新上傳的狀態。 第一個 API 呼叫的主體應該設定 symbol_type 為 UWP。
-
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}'
- 使用從第一個步驟返回的
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}'
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。