在正式機發生了錯誤,但卻不知問題到底在那裡?
這時可以使用 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 .
5.設定 c:\Trace 目錄允許要 Trace 的 Web 應用程式的應用程式集區所以使用的帳號有讀取及執行的權限。
6.設定 c:\TraceLog 目錄允許要 Trace 的 Web 應用程式的應用程式集區所以使用的帳號有完全控制的權限,如下,
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"
8.將 c:\TraceLog 目錄中的 Trace 檔,Copy 到開發人員的電腦之中,然後用 VS.NET 開啟它,來查看或是Debug問題。
以下是我使用 VS.NET 2015 開啟的 Trace 檔,比 VS.NET 2013 UI呈現又更好。會呈現錯誤所在的位置,如下,
而且有時候也會發現某些平常您不知道的其他系覺的錯誤哦~~
參考資料
IntelliTrace Collector for Visual Studio 2013 Update 4
系統上線後我們心中的痛!!找出 Production上有問題的程式碼–IntelliTrace Collector
使用 IntelliTrace 獨立收集器收集生產環境中的診斷資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^