[.NET]找出Server端錯誤的好用工具,VS.NET IntelliTrace

在正式機發生了錯誤,但卻不知問題到底在那裡?
這時可以使用 VS.NET IntelliTrace 來查出問題哦!

有時將程式放到 Server 上去,當發生奇怪的錯誤,會很難查到問題。

這時就可以使用 IntelliTrace 哦!

 

1.IntelliTraceCollection.cab 檔案準備

您可以到「IntelliTrace Collector for Visual Studio 2013 Update 4

或是從您的VS.NET的安裝目錄中 Copy IntelliTraceCollection.cab

VS2013的目錄如下,

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\12.0.0

 

VS2015的目錄如下,

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\14.0.0

 

2.在 Server 上建立2個目錄(您可以自行決定在任何地方建立目錄),

c:\Trace
c:\TraceLog

 

3.將 IntelliTraceCollection.cab Copy 到 c:\Trace 目錄

 

4.開啟 Command 視窗,並到 c:\Trace ,將 IntelliTraceCollection.cab 解壓縮到 c:\Trace 目錄(最後面的 . 表示解到目前的目錄之中)。

expand /f:* IntelliTraceCollection.cab .

image

 

5.設定 c:\Trace 目錄允許要 Trace 的 Web 應用程式的應用程式集區所以使用的帳號有讀取及執行的權限。

6.設定 c:\TraceLog 目錄允許要 Trace 的 Web 應用程式的應用程式集區所以使用的帳號有完全控制的權限,如下,

image

 

7.設定好了之後,就可以開啟 PowerShell 視窗,開始來 Trace

7.1. Import Module

Import-Module "c:\Trace\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll"

 

7.2.開始 Trace 應用程式(假如我的應用程式所對應的 Application Pool 名稱為 OPS452)

Start-IntelliTraceCollection "OPS452" "c:\Trace\collection_plan.ASP.NET.trace.xml" "C:\TraceLog"

 

7.3.測試完成後,停止 Trace

Stop-IntelliTraceCollection "OPS45"

image

 

8.將 c:\TraceLog 目錄中的 Trace 檔,Copy 到開發人員的電腦之中,然後用 VS.NET 開啟它,來查看或是Debug問題。

 

以下是我使用 VS.NET 2015 開啟的 Trace 檔,比 VS.NET 2013 UI呈現又更好。會呈現錯誤所在的位置,如下,

image

而且有時候也會發現某些平常您不知道的其他系覺的錯誤哦~~

 

參考資料

IntelliTrace Collector for Visual Studio 2013 Update 4

系統上線後我們心中的痛!!找出 Production上有問題的程式碼–IntelliTrace Collector

使用 IntelliTrace 獨立收集器收集生產環境中的診斷資料

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^