[Memo]如何分析 Azure SDK 的除錯資訊 - IntelliTrace
Ruddy 老師有說上 Azure 之前一定要做好 單元測試!
除了可以確保功能穩定之外,還可以節省大量的佈署時間
若是系統上線後參數設定問題,那就有得搞了
因為從錯誤訊息根本看不出來
首先要用這個功能有幾個先決條件!
○、必須有 VS 2010 Ultimate 版本
一、必須用 VS 2010 佈署上 Azure
可以參考 初次用 VS 2010 部屬 MVC 3 上 Windows Azure
二、必須是 .NET Framework 4.0 以上的版本
三、在佈署時要勾選 啟用 IntelliTrace for .NET 4 role
在有圖有相象的時代,發生任何錯誤都要抓圖下來。但… (汗)
只有說個 Runtime Error ,其他的就什麼都沒有!這樣子怎麼知道是什麼錯!
這時候就可以用 Windows Azure 總管,開啟 佈署的 WebRole 後可以看到裡面有 Instance X
選擇「View IntelliTrace logs」後,工具就會幫你從 Azure 上下載 Log 檔
下載完後就會開啟 IntelliTrace 的 Log
從「例外狀況資料」中可以看到錯誤清單,有這麼多的 SqlClient SqlException 的錯誤就知道一定是我的程式或是設定有問題 Orz
找這些可疑的就點下去
呃!從 Call Stack 中可以看到在建立連線的時候就掛掉了!而且還在 DBConnection 中死掉了
從區域變數中還可以看到傳入的 Connection String ,發現整個就是錯的。
修改完後就可以正常看到 Azure 上的系統了!
是不是非常省下很多除錯的時間
若是以前除了自已寫 Log 以外,幾乎沒有辦法做到了。
下載的檔案都會統一放在這裡!
參考資料
使用 IntelliTrace 和 Visual Studio 偵錯已發行的裝載服務
http://msdn.microsoft.com/zh-tw/library/ff683671.aspx
管理你的Azure Roles - With Service Management API
http://www.dotblogs.com.tw/code6421/archive/2010/06/09/15741.aspx