Visual Studio 2010新功能-IntelliTrace

推薦Visual Studio 2010新功能-IntelliTrace(智能跟蹤)

Visual Studio 2010 Ultimate 版本有個新功能IntelliTrace(智能跟蹤),IntelliTrace被引入到Visula Studio中來加速咱們對.NET應用程序的調試,它經過對預先設置的事件和方法在運行過程當中的跟蹤並將其有效地傳遞給調試執行者,從而快速的傳遞程序在執行過程當中的狀態和各類信息來幫助開發者更好的調試程序,快速的發現問題。實際上,在Visual Studio 2010以前,Microsoft Visual Stuido已經幫助咱們很好的繼承了調試工具,好比對變量的監控,對堆棧的查看等等,而且容許設置斷點進行單步調試等。全部的這些都在很好的幫助開發者來了解程序在不一樣的執行過程當中的狀態以及檢測是否按照預先實際的邏輯進行運轉,並且更多的,咱們經過斷點後監測程序狀態來發現問題所在。而這樣所存在的問題是,一些邏輯上的錯誤可能發生在斷點執行以前,並且極可能是一些沒法追查。開發者必須中止當前的調試,從新設置斷點並啓動調試,而這樣的試驗過程每每須要不少次才能找到正確的位置來設置斷點。IntelliTrace智能的將一些調試信息和程序狀態自動的跟蹤並實施的展示給開發人員,從而減小了須要程序員找到適當的斷點才能跟蹤和監控程序運行狀態的過程。html

Visual Studio提供給咱們兩個方式來控制其蒐集信息的內容源,一個是IntelliTrace events only,僅僅收集智能跟蹤事件和調試中斷的相關數據;另一個是IntelliTrace events and call information,這個就會收集除了IntelliTrace事件以外對一個方法調用的進入和退出的各類數據。下邊咱們來看看在Visual Studio 2010中如何設置IntelliTrace的跟蹤選項。程序員

進入到工具 --> 選項 --> IntelliTrace。它在默認狀態下是啓用的,可是,僅捕捉事件,由於捕捉事件是便宜的。然而,當你開始跟蹤全部這些調用信息時,真正的價值開始顯現出來了。你每一次調試的時候,IntelliTrace都將彈出來,你在動態調試的時候可使用這個歷史性的調試工具。假如我在那裏而且有一個斷點,可是,我要備份和從新設計這個斷點,我可使用IntelliTrace完成這個任務。數據庫

使用IntelliTrace捕捉到調試進程的其餘人能夠把記錄以及.dlls和pdbs文件發送給你,你能夠重放它們的進程。這個進程也許進入到數據庫(你沒有這個數據庫),它也許是採用你不能複製的方法設置的,它可能在你不能企及的網絡上,可是,你不用擔憂,由於你擁有記錄以及.dlls和pdbs文件,你能夠重放。網絡

固然,擁有源代碼會更好,由於那樣你就可以看到這個代碼好像是在你本身的機器上調試它同樣。這對於在你的機器上運行正常,在其餘人的機器不能運行的那些神祕的故障來講是很是好的。它對於多線程的狀況也是很是好的,當你通過這個應用程序的時候,這個軟件瑕疵就消失了,可是,在正常速度運行時,這個軟件瑕疵又出現了。多線程

image

默認狀況下,IntelliTrace僅僅收集IntelliTrace相關的事件,這樣是爲了保持所收集的數據較少,而且對於性能上的影響是最小的。而當你選擇對方法調用的數據也進行蒐集時,除了其臨時蒐集的數據所佔用空間的增大外,對於性能的影響也是較大的。儘管收集到的細節有所不一樣,但兩種方式都會收集一些共同的數據。好比,它總會在第一次啓動收集過程時收集系統信息,模塊的加載和卸載事件,線程的起始和結束時間等。隨着模塊和線程的事件,能夠正確的更新模塊和線程調試窗口的信息。另外,任何模式下,在調試斷點處也會對數據進行收集,並將所收集到的基本數據類型和對象在調試其中進行檢查和審閱,並容許改變其值。工具

總的說來IntelliTrace調試程序就是爲程序開發者量身定製的,經過其獨特的「歷史調試」功能,爲開發者提供了一個反悔追溯過程控制功能。好比,在開發中程序在10分鐘前出現一個異常,怎麼辦呢,若是在之前通常是經過手動調用Debug.Write語句,如今沒必要了!由於很多開發工具中的這種歷史調試功能都很是類似,在VS2010 正式版 中經過IntelliTrace,不但能使程序員看到程序的當前情況,也能夠檢查某些狀況下產生的事件,甚至還能隔離應用程序歷史記錄中的故障點。因此,啓用歷史調試以後,VS2010 正式版可以捕獲調用堆棧以及相關變量,我們就能夠「回退」至程序的保存前10分鐘或者更長時間,檢查程序發生異常、故障時的各類狀況。由於,在默認狀況下程序只保存關鍵的類型,而開發人員能夠選擇記錄全部的參數,對象以及全局變量。因此,IntelliTrace會主動展現程序運行過程當中的關鍵事件,諸如代碼異常、文件訪問、時時調試等等。post

更好的理解使用IntelliTrace調試功能,向你推薦MSDN雜誌上上的一篇文章IntelliTrace: 使用 IntelliTrace 調試應用程序,Justin Marks 演示瞭如何使用 Visual Studio 2010 旗艦版中提供的 IntelliTrace 功能,該功能爲開發人員提供了一種強大的新調試工具來加速調試並收集應用程序的完整執行歷史記錄、得到更深刻的信息以及快速查找 Bug。性能

相關文章
相關標籤/搜索