[Memo]如何分析 Azure SDK 的除錯資訊 - IntelliTrace

[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

 

在有圖有相象的時代,發生任何錯誤都要抓圖下來。但… (汗)

image

只有說個 Runtime Error ,其他的就什麼都沒有!這樣子怎麼知道是什麼錯!

 

這時候就可以用 Windows Azure 總管,開啟 佈署的 WebRole 後可以看到裡面有 Instance X

 

image

選擇「View IntelliTrace logs」後,工具就會幫你從 Azure 上下載 Log 檔

 

image

下載完後就會開啟 IntelliTrace 的 Log

 

image

從「例外狀況資料」中可以看到錯誤清單,有這麼多的 SqlClient SqlException 的錯誤就知道一定是我的程式或是設定有問題 Orz

找這些可疑的就點下去

image

呃!從 Call Stack 中可以看到在建立連線的時候就掛掉了!而且還在 DBConnection 中死掉了

從區域變數中還可以看到傳入的 Connection String ,發現整個就是錯的。

 

修改完後就可以正常看到 Azure 上的系統了!

是不是非常省下很多除錯的時間

 

若是以前除了自已寫 Log 以外,幾乎沒有辦法做到了。

 

 

image

下載的檔案都會統一放在這裡!

 

參考資料

使用 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