在Visual Stuido 2010中有一個新的功能那就是IntelliTrace.IntelliTrace被引入到Visula Studio中來加速我們對.NET應用程式的調試,它通過對預先設定的事件和方法在運行過程中的跟蹤並將其有效地傳遞給調試執行者,從而快速的傳遞程式在執行過程中的狀態和各種資訊來協助開發人員更好的偵錯工具,快速的發現問題。實際上,在Visual Studio 2010之前,Microsoft Visual Stuido已經協助我們很好的繼承了調試工具,比如對變數的監控,對堆棧的查看等等,並且允許設定斷點進行單步調試等。所有的這些都在很好的協助開發人員來瞭解程式在不同的執行過程中的狀態以及檢測是否按照預先實際的邏輯進行運轉,而且更多的,我們通過斷點後監測程式狀態來發現問題所在。而這樣所存在的問題是,一些邏輯上的錯誤可能發生在斷點執行之前,而且很可能是一些無法追查。開發人員必須停止當前的調試,重新設定斷點並啟動調試,而這樣的實驗過程往往需要很多次才能找到正確的位置來設定斷點。
IntelliTrace都收集哪些資料?
那麼IntelliTrace帶給我們了什嗎?顧名思義,它智能的將一些調試資訊和程式狀態自動的跟蹤並實施的展現給開發人員,從而減少了需要程式員找到適當的斷點才能跟蹤和監控程式運行狀態的過程。那麼這些資訊到底有什麼用呢?IntelliTrace又到底搜集了哪些資料呢?這取決於我們通知 IntelliTrace進行收集的資料類型和對其大小的控制,這樣IntelliTrace會按照我們期望的方式去收集部分資料而不是所有在即時調試過程中的程式狀態資訊。Visual Studio提供給我們兩個方式來控制其搜集資訊的內容來源,一個是IntelliTrace events only,僅僅收集智能跟蹤事件和調試中斷的相關資料;另外一個是IntelliTrace events and call information,這個就會收集除了IntelliTrace事件之外對一個方法調用的進入和退出的各種資料。下邊我們來看看在Visual Studio 2010中如何設定IntelliTrace的跟蹤選項。
首先我們需要檢查IntelliTrace功能在Visual Stuido 2010中是開啟的。在Visual Studio 2010中選擇”Tools | Options…”開啟選項對話方塊,並選擇”IntelliTrace | General”. 確保Enable IntelliTrace是被選中的。
Figure 1: Visual Studio 2010 IntelliTrace settings.