取得應用程式中錯誤的堆疊追蹤
在 Microsoft Store 分析 API 中使用此方法,取得應用程式中錯誤的堆疊追蹤。 這個方法只能下載過去 30 天內發生的應用程式錯誤的堆疊追蹤。 堆疊追蹤也可在合作夥伴中心健康情況報告的 [失敗] 區段中取得。
使用此方法之前,您必須先使用取得應用程式中錯誤的詳細資料方法,擷取與您要擷取堆疊追蹤之錯誤相關聯的 CAB 檔案識別碼。
必要條件
要使用此方法,您需要先執行以下操作:
- 如果您尚未執行此操作,請完成 Microsoft Store 分析 API 的所有必要條件。
- 取得 Azure AD 存取權杖以便用於此方法的要求標頭中。 取得存取權杖之後,您在其到期之前有 60 分鐘的時間可以使用。 權杖到期之後,您可以取得新的權杖。
- 取得與您要擷取堆疊追蹤之錯誤相關聯的 CAB 檔案識別碼。 若要取得此識別碼,請使用取得應用程式中錯誤的詳細資料方法來擷取應用程式中特定錯誤的詳細資料,並在該方法的回應本文中使用 cabId 值。
Request
要求語法
方法 | 要求 URI |
---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace |
要求標頭
標題 | 類型 | 描述 |
---|---|---|
授權 | 字串 | 必要。 持有人<權杖>形式的 Azure AD 存取權杖。 |
要求參數
參數 | 類型 | 描述 | 必要 |
---|---|---|---|
applicationId | 字串 | 您要取得堆疊追蹤之應用程式的 Store ID。 Store ID 可在合作夥伴中心的應用程式識別頁面上取得。 範例 Store ID 為 9WZDNCRFJ3Q8。 | 是 |
cabId | 字串 | 取得與您要擷取堆疊追蹤之錯誤相關聯的 CAB 檔案唯一識別碼。 若要取得此識別碼,請使用取得應用程式中錯誤的詳細資料方法來擷取應用程式中特定錯誤的詳細資料,並在該方法的回應本文中使用 cabId 值。 | 是 |
要求範例
下列範例示範如何使用此方法取得堆疊追蹤。 以您應用程式的 Store ID 取代 applicationId 值。
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace?applicationId=9NBLGGGZ5QDR&cabId=1336373323853 HTTP/1.1
Authorization: Bearer <your access token>
回應
回應本文
值 | 類型 | 描述 |
---|---|---|
值 | 陣列 | 物件的陣列,每個物件都包含一個堆疊追蹤資料框架。 如需關於每個物件中的資料的詳細資訊,請參閱下方的堆疊追蹤值一節。 |
@nextLink | 字串 | 如果有額外的資料頁面,此字串會包含可用來要求下一頁資料的 URI。 例如,如果要求的 top 參數設定為 10,但查詢的錯誤超過 10 個資料列,則會傳回此值。 |
TotalCount | 整數 | 查詢的資料結果中的總列數。 |
堆疊追蹤值
Value 陣列中的元素包含下列值。
值 | 類型 | 描述 |
---|---|---|
level | 字串 | 這個元素在呼叫堆疊中代表的框架編號。 |
image | 字串 | 可執行檔或程式庫映像的名稱,其中包含在此堆疊框架中呼叫的函式。 |
函數 | 字串 | 在此堆疊框架中呼叫的函式名稱。 只有當您的應用程式包含可執行檔或程式庫的符號時,才能使用。 |
offset | 字串 | 相對於函式開頭的目前指令位元組位移。 |
注意
這個方法只能下載過去 30 天內發生的應用程式錯誤的堆疊追蹤。
要求和回應範例
下列程式碼片段示範一些要求的範例要求和 JSON 回應本文。
範例要求
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace?applicationId=9NBLGGGZ5QDR&cabId=1234567890123456789
HTTP/1.1
Authorization: Bearer <your access token>
範例回應
{
"Value": [
{
"level": "0",
"image": "Microsoft.Contoso",
"function": "HANG_QUIESCE",
"offset": "0x0000000000000000",
"isBlamedFrame": true
},
{
"level": "1",
"image": "unknown.dll",
"function": "[.ecxr]",
"offset": "0x0000000000000000",
"isBlamedFrame": false
},
{
"level": "2",
"image": "ntdll.dll",
"function": "RtlpHpSegFree",
"offset": "0x0000000000000000",
"isBlamedFrame": false
},
{
"level": "3",
"image": "ntdll.dll",
"function": "RtlpHpFreeHeap",
"offset": "0x0000000000000000",
"isBlamedFrame": false
},
{
"level": "4",
"image": "ntdll.dll",
"function": "RtlpFreeHeapInternal",
"offset": "0x0000000000000000",
"isBlamedFrame": false
}
],
"TotalCount": 5
}