Windows Phone App的dump 檔案分析

來源:互聯網
上載者:User

標籤:

前言

我們在發布了自己的App以後,Windows Phone的Error Report機制會協助我們收集程式的崩潰資訊並發送到微軟的伺服器上,這可以輔助開發人員提高App的穩定性。

那麼如何利用這些dump file呢?首先我們需要下載這些dump file從微軟開發人員網站,然後藉助調試工具進行分析,我們這裡選用Windbg。 下載步驟

1. 登入http://dev.windows.com/en-us/dashboard

2. 選擇Windows Phone Store

3. 進入Reports,選擇Crash count,選擇 App和日期,點積Refresh按鈕

4. 點擊匯出stack traces,這裡包括最近30天的崩潰轉存記錄

5. 開發下載後的Excel檔案,這個excel檔案裡麵包含9列。分別是App的名字,App的ID,App的版本號碼,作業系統的版本號碼,出現問題的函數,異常類型,在30天內累計的崩潰次數,棧的回溯和Dump File。

6. 我們可以通過第E和F列快速看一下,是否是由我們的App導致的崩潰,然後點擊下載dump file進行分析。

使用Windbg開啟dump file

1. 下載windbg從微軟的網站:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx

2. 運行windbg,從檔案菜單中選擇開啟crash file,或者使用快速鍵Ctrl+D.

3. 設定symbol server,

a. 可以使用快速鍵Ctrl + S:

b. 或者命令”.sympath” 命令:

.sympath srv*e:\bclCache*http://msdl.microsoft.com/download/symbols

c. 也可以使用”.symfix”

4. 指定完symbol server以後,我們需要重新載入symbol file,在命令視窗輸入”.reload”。命令視窗可以使用快速鍵Alt+1定位。

5. 載入SOS模組。SOS.dll是Windbg為了調試managed代碼編寫的一個擴充命令模組。最新的windbg會自動載入這個模組。

6. 查看是否SOS的版本載入正確。我們首先查看coreclr.dll的版本號碼,然後對比當前載入的SOS.dll的版本號碼是否一致。

a. 在命令視窗輸入”lmv mcoreclr”。命令lmv是列印出模組的資訊,m+模組名字用來指定需要列印的模組,這裡是列印coreclr模組的資訊。

b. 在命令視窗輸入”.chain”。這個命令是顯示出預設的載入順序為所有載入的debug擴充模組。

對比coreclr模組的版本號碼和尋找鏈中的第一個是否匹配。如果不匹配,我們可以使用”.unload”卸掉已經載入的SOS模組,再次使用”.load + 路徑”選擇擴充Dll尋找鏈中的正確項。例如:

.unload e:\bclcache\symbols\sos_x86_ARM_4.0.50829.00.dll\503D5669449000

.load c:\Debuggers\SOS

.chain再次查看第一個是否匹配 小結

現在我們已經知道如何下載dump file並如何使用windbg來開啟它。後面的文章我舉一些實際中的例子來講解如何找到錯誤的代碼。

 

分享代碼,改變世界!

Windows Phone Store App link:

http://www.windowsphone.com/zh-cn/store/app/部落格園-uap/500f08f0-5be8-4723-aff9-a397beee52fc

Windows Store App link:

http://apps.microsoft.com/windows/zh-cn/app/c76b99a0-9abd-4a4e-86f0-b29bfcc51059

GitHub open source link:

https://github.com/MS-UAP/cnblogs-UAP

MSDN Sample Code:

https://code.msdn.microsoft.com/CNBlogs-Client-Universal-477943ab

MS-UAP

2015/1/12

Windows Phone App的dump 檔案分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.