国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Visual Studio 2010中調(diào)試.NET應(yīng)用程序詳解

開發(fā) 后端
IntelliTrace到底可以幫助我們做什么?IntelliTrace會(huì)收集在調(diào)試過程中程序的運(yùn)行狀態(tài),這些狀態(tài)存到哪兒,以什么樣的方式存儲(chǔ)呢?答案就在Advanced選項(xiàng)。

Visual Stuido 2010中有一個(gè)新的功能那就是IntelliTrace.IntelliTrace被引入到VisulaStudio中來加速我們對(duì).NET應(yīng)用程序的調(diào)試,它通過對(duì)預(yù)先設(shè)置的事件和方法在運(yùn)行過程中的跟蹤并將其有效地傳遞給調(diào)試執(zhí)行者,從而快速的傳遞程序在執(zhí)行過程中的狀態(tài)和各種信息來幫助開發(fā)者更好的調(diào)試程序,快速的發(fā)現(xiàn)問題。

實(shí)際上,在Visual Studio 2010之前,Microsoft Visual Stuido已經(jīng)幫助我們很好的繼承了調(diào)試工具,比如對(duì)變量的監(jiān)控,對(duì)堆棧的查看等等,并且允許設(shè)置斷點(diǎn)進(jìn)行單步調(diào)試等。所有的這些都在很好的幫助開發(fā)者來了解程序在不同的執(zhí)行過程中的狀態(tài)以及檢測(cè)是否按照預(yù)先實(shí)際的邏輯進(jìn)行運(yùn)轉(zhuǎn),而且更多的,我們通過斷點(diǎn)后監(jiān)測(cè)程序狀態(tài)來發(fā)現(xiàn)問題所在。

而這樣所存在的問題是,一些邏輯上的錯(cuò)誤可能發(fā)生在斷點(diǎn)執(zhí)行之前,而且很可能是一些無法追查。開發(fā)者必須停止當(dāng)前的調(diào)試,重新設(shè)置斷點(diǎn)并啟動(dòng)調(diào)試,而這樣的試驗(yàn)過程往往需要很多次才能找到正確的位置來設(shè)置斷點(diǎn)。

IntelliTrace都收集哪些數(shù)據(jù)?

那么IntelliTrace帶給我們了什么?顧名思義,它智能的將一些調(diào)試信息和程序狀態(tài)自動(dòng)的跟蹤并實(shí)施的展現(xiàn)給開發(fā)人員,從而減少了需要程序員找到適當(dāng)?shù)臄帱c(diǎn)才能跟蹤和監(jiān)控程序運(yùn)行狀態(tài)的過程。那么這些信息到底有什么用呢?IntelliTrace又到底搜集了哪些數(shù)據(jù)呢?這取決于我們通知IntelliTrace進(jìn)行收集的數(shù)據(jù)類型和對(duì)其大小的控制,這樣IntelliTrace會(huì)按照我們期望的方式去收集部分?jǐn)?shù)據(jù)而不是所有在即時(shí)調(diào)試過程中的程序狀態(tài)信息。

Visual Studio提供給我們兩個(gè)方式來控制其搜集信息的內(nèi)容源,一個(gè)是Intelli Traceeventsonly,僅僅收集智能跟蹤事件和調(diào)試中斷的相關(guān)數(shù)據(jù);另外一個(gè)是Intelli Traceeventsand call information,這個(gè)就會(huì)收集除了IntelliTrace事件之外對(duì)一個(gè)方法調(diào)用的進(jìn)入和退出的各種數(shù)據(jù)。下邊我們來看看在Visual Studio 2010中如何設(shè)置IntelliTrace的跟蹤選項(xiàng)。

首先我們需要檢查IntelliTrace功能在Visual Stuido 2010中是打開的。在Visual Studio 2010中選擇”Tools|Options…”打開選項(xiàng)對(duì)話框,并選擇”IntelliTrace|General”.確保EnableIntelliTrace是被選中的。

Figure1:Visual Studio 2010 IntelliTracesettings

默認(rèn)情況下,IntelliTrace僅僅收集IntelliTrace相關(guān)的事件,這樣是為了保持所收集的數(shù)據(jù)較少,并且對(duì)于性能上的影響是最小的。而當(dāng)你選擇對(duì)方法調(diào)用的數(shù)據(jù)也進(jìn)行搜集時(shí),除了其臨時(shí)搜集的數(shù)據(jù)所占用空間的增大外,對(duì)于性能的影響也是較大的。盡管收集到的細(xì)節(jié)有所不同,但兩種方式都會(huì)收集一些共同的數(shù)據(jù)。比如,它總會(huì)在第一次啟動(dòng)收集過程時(shí)收集系統(tǒng)信息,模塊的加載和卸載事件,線程的起始和結(jié)束時(shí)間等。隨著模塊和線程的事件,可以正確的更新模塊和線程調(diào)試窗口的信息。另外,任何模式下,在調(diào)試斷點(diǎn)處也會(huì)對(duì)數(shù)據(jù)進(jìn)行收集,并將所收集到的基本數(shù)據(jù)類型和對(duì)象在調(diào)試其中進(jìn)行檢查和審閱,并允許改變其值。

Figure2:IntelliTracein Visual Studio 2010

那么什么是IntelliTrace事件呢?簡(jiǎn)單的說就是程序員在調(diào)試程序的過程中可能會(huì)感興趣的特定的點(diǎn)。例如打開一個(gè)文件,更改注冊(cè)表信息,點(diǎn)擊表單上的某個(gè)按鈕,甚至于數(shù)據(jù)綁定等等。IntelliTrace的事件會(huì)以競(jìng)爭(zhēng)的方式來最終決定被放置的位置,但是這個(gè)位置不能是過于頻繁的被調(diào)用而可能導(dǎo)致程序性能明顯降低的地方。

當(dāng)你用Visual Studio 2010打開一個(gè)項(xiàng)目并且啟用IntelliTrace功能時(shí),當(dāng)調(diào)試器在斷點(diǎn)停下時(shí)你會(huì)看到IntelliTrace的信息。下圖是我在設(shè)置了對(duì)文件的訪問作為IntelliTrace事件時(shí)IntelliTrace搜集的數(shù)據(jù):

Figure3:對(duì)IntelliTrace事件相關(guān)數(shù)據(jù)的收集

如何去更改IntelliTrace事件呢?對(duì)于默認(rèn)的IntelliTraceevents,文件訪問是不被納入的。但你可以通過對(duì)IntelliTrace的設(shè)置來改變對(duì)你感興趣的事件信息的收集,來加速你的程序調(diào)試。選擇”Tools|Options…|IntelliTrace|IntelliTraceEvents”,在右邊的列表中選擇感興趣的事件即可。

Figure4:配置IntelliTrace事件

需要注意的是,添加的事件越多,IntelliTrace需要收集的數(shù)據(jù)就會(huì)越多,提供給你的信息就越多,而且數(shù)據(jù)占用的空間也會(huì)越多。這是需要權(quán)衡的,尤其是對(duì)于特別大的項(xiàng)目,一旦你的設(shè)置過于繁瑣,可能會(huì)讓機(jī)器處于嚴(yán)重的停滯狀態(tài)。另外,在Modules選項(xiàng)中,你還可以通過多模塊的過濾來達(dá)到只收集你最關(guān)心的數(shù)據(jù)程序狀態(tài)的目的,這樣避免了IntelliTrace對(duì)所有組件的相關(guān)事件都進(jìn)行收集的情況。

Figure5:設(shè)置IntelliTrace跟蹤的模塊

IntelliTrace到底可以幫助我們做什么?在Advanced選項(xiàng)中,可以定義每次智能跟蹤的數(shù)據(jù)的存儲(chǔ)大小和位置。IntelliTrace會(huì)收集在調(diào)試過程中程序的運(yùn)行狀態(tài),這些狀態(tài)存到哪兒,以什么樣的方式存儲(chǔ)呢?答案就在Advanced選項(xiàng)。

Figure6:IntelliTrace數(shù)據(jù)的存儲(chǔ)位置和大小

首先可以選擇跟蹤的數(shù)據(jù)的存儲(chǔ)位置,默認(rèn)是存儲(chǔ)在C:\ProgramData\Microsoft Visual Studio\10.0\TraceDebugging位置并以每個(gè)跟蹤文件最大250M的方式存儲(chǔ)為.iTrace文件。位置和對(duì)于每個(gè)文件的大小都可以做調(diào)整。那么iTrace文件到底是什么呢?iTrace文件是一個(gè)可以被Visual Studio 2010所識(shí)別的文件,它記錄了本次跟蹤過程中程序執(zhí)行的時(shí)間線,線程,異常,系統(tǒng)信息和相關(guān)模塊。

Figure7:IntelliTrace文件的信息

有意思的是,這和你在IntelliTrace窗口中看到的信息是一致的,并且可以隨時(shí)映射到所對(duì)應(yīng)的調(diào)試會(huì)話中。例如,在ExceptionData部分,當(dāng)我們發(fā)現(xiàn)一個(gè)異常時(shí),我們可以清楚的看到這個(gè)異常的信息以及詳細(xì)的CallStack。

Figure8:IntelliTrace對(duì)程序調(diào)試的幫助

雙擊異常,或者點(diǎn)擊異常下方的StartDegugging按鈕可以恢復(fù)此次跟蹤所對(duì)應(yīng)的調(diào)試會(huì)話,并直接定位到異常位置。并且在右邊的IntelliTrace窗口中可以完整而清楚的看到此次程序運(yùn)行過程中各種事件的相關(guān)數(shù)據(jù),以此來更清楚的還原現(xiàn)場(chǎng)并幫助找出問題。

Figure8:IntelliTrace幫助定位問題及還原現(xiàn)場(chǎng)

至此我們終于知道了IntelliTrace不僅僅只是給我們收集了數(shù)據(jù),更是為我們將這些數(shù)據(jù)與程序狀態(tài)和各個(gè)事件相關(guān)聯(lián),快速的幫助我們定位問題,以此來加速程序調(diào)試。其實(shí)在MicrosoftTestManager中也適用了IntelliTrace技術(shù)來幫助我們做相關(guān)測(cè)試,但這是后話。

當(dāng)設(shè)置IntelliTrace不僅跟蹤相關(guān)的事件,并且跟蹤對(duì)每個(gè)方法的訪問時(shí)你可以清楚的看到整個(gè)程序在運(yùn)行過程中是如何對(duì)不同的方法及對(duì)象進(jìn)行實(shí)例化、相互調(diào)用,線程調(diào)度的時(shí)間線等等。好比描繪了一個(gè)程序的流程圖,讓你可以清楚的在各個(gè)調(diào)用間導(dǎo)航來找到你感興趣的信息。并且,隨著在CallView窗口中在不同的調(diào)用間導(dǎo)航,你可以清楚的知道每一次調(diào)用所對(duì)應(yīng)的位置(除部分不可見的Code外),以此來更好的了解程序流程。

Figure9:通過CallView窗口來觀察程序中的方法調(diào)用

IntelliTrace是一個(gè)幫助我們更好的調(diào)試程序,發(fā)現(xiàn)問題并解決問題的工具,并且還可以靈活的定義對(duì)于所感興趣的事件和數(shù)據(jù)的收集,將會(huì)在開發(fā)過程中扮演越來越重要的角色。另外,你還可以自己定義IntelliTrace的事件呢。
 

Visual Studio 2010 全球發(fā)布會(huì)

 

 

【編輯推薦】

  1. Visual Studio 2010 Ultimate中MSF過程模型設(shè)計(jì)
  2. Visual Studio 2010代碼編譯器特性分析
  3. Visual Studio 2010無智能提示感知方法解析
  4. 詳解Visual Studio 2010五大新特性
  5. 細(xì)數(shù)Visual Stuido 2010中VC++的新特征
責(zé)任編輯:王曉東 來源: 博客園
相關(guān)推薦

2010-01-15 09:30:22

Visual Stud

2010-11-19 12:40:12

Visual Stud云應(yīng)用程序

2011-01-12 11:56:36

Visual Stud

2011-01-24 07:24:48

Visual Stud

2010-01-14 14:12:14

Visual Stud

2010-02-05 09:06:17

Visual Stud

2009-12-01 19:28:55

Visual Stud

2009-08-24 09:25:18

Visual C# ..NET應(yīng)用程序

2009-09-04 09:39:15

Visual Stud

2009-12-16 15:39:37

Visual Stud

2010-01-06 09:41:55

Visual Stud

2010-03-19 16:43:37

Visual Stud

2009-11-24 09:00:02

Visual Stud

2009-04-23 14:05:28

Visual Stud歷史調(diào)試功能

2013-05-29 14:54:49

Visual Stud

2009-07-23 13:26:21

2009-11-10 09:13:47

Visual Stud

2010-12-16 10:00:20

QtVisual Stud

2010-02-23 09:02:00

Visual Stud

2009-11-18 09:14:49

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

最近2019中文字幕一页二页| 国产精品专区一| 成年人在线看| 国产精品国产三级国产三级人妇| 日韩精品一线二线三线| 香蕉久久网站| 国产精品99久久久久久久久| 亚洲最好看的视频| 亚洲欧美精品一区二区| 成年人黄视频在线观看| 欧美精品久久一区二区三区| 懂色一区二区三区| 在线观看免费亚洲| 91桃色在线| 亚洲精品美女网站| 日韩国产网站| 日韩av在线导航| 久久五月精品中文字幕| 在线观看日产精品| 欧美少妇另类| 无码av中文一区二区三区桃花岛| 美女张开让男人捅| 欧美日韩大陆一区二区| 日韩大片欧美大片| 国产精品99久久久久久人 | 高清亚洲成在人网站天堂| 色噜噜狠狠色综合中国| 永久免费的av网站| 性久久久久久久| 亚州黄色一级| 国产精品乱人伦中文| 久久久无码中文字幕久...| 激情文学综合插| 日韩a级在线观看| 26uuu另类欧美| 成人性生生活性生交12| 日本一区二区在线不卡| 妞干网在线观看视频| 日本免费中文字幕在线| 7777精品伊人久久久大香线蕉的| 精品欧美一区二区精品久久| 97精品97| 国产美女永久无遮挡| 午夜精品久久久久久久99樱桃| 青春草在线免费视频| 日韩免费中文字幕| 久久成人免费电影| 成人影视在线播放| 色婷婷久久久久swag精品| 久久精品香蕉视频| av黄在线观看| 欧美疯狂性受xxxxx喷水图片| 日韩偷拍自拍| 日本福利一区二区| 成人福利影视| 精品激情国产视频| 黄色欧美视频| 在线日韩av观看| 在线日韩一区| 成人福利网站在线观看11| 蜜臀av免费一区二区三区| 久久精品99久久香蕉国产色戒 | 国产高清久久| 国产精品扒开腿做爽爽爽男男| 秋霞影院一区二区三区| 国产精品成人久久久久| 欧美日韩少妇| 国产国产精品人在线视| 久久久久久久久成人| 亚洲欧美中文日韩在线| 亚洲精品视频在线免费| 亚洲欧美一区二区三区极速播放| 国产毛片视频| 欧美一区二区三区四区在线观看| 正在播放日韩精品| 国产欧美亚洲精品| 国产精品综合网| 欧美aaa在线观看| 日韩激情视频在线观看| 日本一级在线观看| 成人精品视频99在线观看免费 | 日韩伦理一区二区| 亚洲视频电影图片偷拍一区| 99在线|亚洲一区二区| 国产黄色片大全| 欧美一区二区在线免费观看| 国产日韩一区二区三区在线| 日本在线观看免费| 性欧美精品一区二区三区在线播放| 久久夜色精品国产噜噜av| 高清国语自产在线观看| 97在线视频一区| 精品一区二区影视| 黄色在线播放网站| 日本a视频在线观看| 欧美一区二区三区久久精品茉莉花| 麻豆成人在线播放| 九色丨porny丨自拍入口| 亚洲成av人片在线| 美足av综合网| 欧美专区在线视频| 蜜桃视频第一区免费观看| 亚洲自拍偷拍网址| 亚洲第一精品电影| 精品一二三四在线| 福利在线一区二区三区| 国产成人精品自拍| 亚洲福利视频网| 精品日本一区二区| 99re免费视频精品全部| 在线免费福利| 亚洲欧洲激情在线| 一区二区三区四区在线观看国产日韩 | 国产欧美日本在线| 久久久久久97三级| 超碰在线caoporen| 91干在线观看| 国产精品中文字幕一区二区三区| 美州a亚洲一视本频v色道| 久久久久久久久电影| 国产一区视频网站| 黄色在线免费看| 91精品在线一区| 国产精品视频免费| 巨胸喷奶水www久久久免费动漫| 国产一区二区高清视频| 一区二区三区91| 日韩精品一区二区三区中文在线| 亚洲国产日韩综合一区| 狠狠爱在线视频一区| 私拍精品福利视频在线一区| 福利视频一二区| 日韩av一区在线观看| 亚洲一区二区免费看| 毛片在线播放网址| 国产精品久久久久久久久久ktv| jlzzjlzz国产精品久久| av资源网在线播放| 欧美一区少妇| 在线观看一区不卡| 久久中文视频| 最近2018中文字幕免费在线视频| 久久久久久久999精品视频| 99精品视频在线观看免费| 国产精品av一区二区三区| 色999日韩自偷自拍美女| 欧美群妇大交群的观看方式| 亚洲精品a级片| 在线观看av网站永久| 国产精品日韩欧美| 中文字幕一区二区三区域| 国产对白国语对白| 国产一区国产精品| 久久久久久中文字幕| 国产精品免费一区| 国产亚洲精品v| 亚洲免费黄色| 欧美精品国产白浆久久久久| 韩国日本美国免费毛片| 精品综合免费视频观看| 五月天婷婷在线视频| 久久国产精品区| 日日夜夜免费精品视频| 日本国产精品| 成人看片毛片免费播放器| 伊人久久免费视频| 久久精品av麻豆的观看方式| 日本三级在线播放完整版| 国产乱码精品一区二区三区日韩精品| 亚洲狠狠爱一区二区三区| 久久要要av| 在线观看免费版| 天堂社区 天堂综合网 天堂资源最新版| 日韩精品一区二区三区在线| 加勒比av一区二区| a成人v在线| 99.玖玖.com| 成人黄色免费网站在线观看| 色天天综合久久久久综合片| 在线欧美亚洲| h片在线观看视频免费| 2022中文字幕| 欧美激情在线一区| 亚洲综合一区二区| 日韩一级精品| 小黄鸭精品aⅴ导航网站入口| 能在线观看的av网站| 国产精品扒开腿做| 日韩欧美主播在线| 奇米精品一区二区三区在线观看一 | 亚洲一区二区网站| 波多野结衣久久| 欧美国产日韩激情| 午夜精品久久久久久久久久久久久| 亚洲一区二区在线免费看| 亚洲尤物精选| 无人区乱码一区二区三区| 精品欧美不卡一区二区在线观看| 伊人精品久久久久7777| 欧美亚洲另类在线|