• <bdo id="qgeso"></bdo>
        • <strike id="qgeso"></strike>
        • <sup id="qgeso"></sup><center id="qgeso"></center>
        • <input id="qgeso"></input>

          vs2010斷點(diǎn)調(diào)試詳細(xì)教程

          首頁(yè) > IT > > 正文

          日期:2022-03-04 17:16:28    來(lái)源:腳本之家    

          設(shè)置斷點(diǎn):在如下圖中的紅色圓點(diǎn)處設(shè)置斷點(diǎn),紅色圓點(diǎn)表示已經(jīng)在這行設(shè)置斷點(diǎn)。快捷鍵F9。

          啟動(dòng)調(diào)試:按F5或者點(diǎn)擊左邊紅框中的按鈕。右邊框是開(kāi)始執(zhí)行(不調(diào)試)Ctrl+F5。

          調(diào)試工具欄:下面是工具欄中對(duì)應(yīng)的名稱和快捷鍵。

          在調(diào)試過(guò)程中F5是執(zhí)行到下一個(gè)斷點(diǎn)。F11是逐語(yǔ)句,在執(zhí)行到下圖中的斷點(diǎn)時(shí),按F11會(huì)執(zhí)行到Fibonacci方法里面逐步記錄執(zhí)行過(guò)程。F10是逐過(guò)程,與逐語(yǔ)句不同的是,在執(zhí)行到下圖中斷點(diǎn)時(shí),再執(zhí)行會(huì)執(zhí)行斷點(diǎn)下面的語(yǔ)句,而不是去執(zhí)行語(yǔ)句中的方法。

          局部變量:在調(diào)試過(guò)程中可以查看局部變量窗口,如下圖里面會(huì)有變量的當(dāng)前狀態(tài)。如果找不到的話在

          數(shù)組的狀態(tài)表示如下圖:

          InteliTrace記錄每一步的調(diào)試狀態(tài)。

          條件中斷

          開(kāi)發(fā)人員設(shè)置斷點(diǎn),運(yùn)行程序,利用不同的輸入觸發(fā)斷點(diǎn),然后在斷點(diǎn)處手工檢查是否滿足某些特定的條件,從而決定是否繼續(xù)調(diào)查。如果當(dāng)前場(chǎng)景不是他們想要的,按F5繼續(xù)運(yùn)行程序,嘗試別的輸入,手動(dòng)重復(fù)剛才的過(guò)程。

          針對(duì)上述情況,Visual Studio提供了一個(gè)方便得多的功能——“條件中斷”。只有當(dāng)程序滿足了開(kāi)發(fā)人員預(yù)設(shè)的條件后,條件斷點(diǎn)才會(huì)被觸發(fā),調(diào)試器中斷。這將避免頻繁地手工檢查/恢復(fù)程序運(yùn)行,大量減少調(diào)試過(guò)程中的手工和煩瑣工作。

          如何設(shè)置條件斷點(diǎn):

          設(shè)置條件斷點(diǎn)非常容易。在特定的行上,按F9設(shè)置斷點(diǎn)。

          然后右擊斷點(diǎn)–編輯窗口左側(cè)的紅點(diǎn),在上下文菜單上選擇“條件”。

          這時(shí)彈出一個(gè)對(duì)話框供你設(shè)置激活該斷點(diǎn)所需的條件。比如:我們希望只有當(dāng)x==5時(shí),調(diào)試才中斷。我們可以寫(xiě)出如下的表達(dá)式:

          現(xiàn)在我再運(yùn)行這個(gè)程序按F5達(dá)到條件斷點(diǎn),只有當(dāng)x等于5時(shí),程序運(yùn)行才會(huì)被中斷。對(duì)于其它條件下的x值,斷點(diǎn)將被跳過(guò)。

          記錄到達(dá)斷點(diǎn)次數(shù)

          有時(shí)你希望,只有當(dāng)?shù)贜次滿足條件的運(yùn)行到達(dá)斷點(diǎn)時(shí),才中斷程序運(yùn)行。例如:當(dāng)?shù)谝淮蚊袛帱c(diǎn)。可以通過(guò)右擊斷點(diǎn),然后在彈出菜單上選擇“命中次數(shù)”菜單命令實(shí)現(xiàn)。

          這時(shí)系統(tǒng)彈出一個(gè)對(duì)話框,它允許你指定:(1)當(dāng)滿足條件,而且進(jìn)入斷點(diǎn)的累計(jì)次數(shù)等于N時(shí),斷點(diǎn)命中一次。(2)當(dāng)滿足條件,而且進(jìn)入斷點(diǎn)的累計(jì)次數(shù)是N的倍數(shù)時(shí),斷點(diǎn)命中一次。(3)當(dāng)滿足條件,而且進(jìn)入斷點(diǎn)的累計(jì)次數(shù)大于N時(shí),每次命中斷點(diǎn)。

          注意:如果多個(gè)條件同時(shí)用的話,結(jié)果取交集。

          斷點(diǎn)篩選器

          例如,在調(diào)試一個(gè)服務(wù)程序時(shí)在其內(nèi)部打上了斷點(diǎn),由于這是一個(gè)公用的服務(wù)不希望其他訪問(wèn)這個(gè)服務(wù)的程序被所設(shè)斷點(diǎn)調(diào)試干擾,怎么辦?斷點(diǎn)篩選器就是限制只在某些進(jìn)程和線程中設(shè)置斷點(diǎn)。篩選器文本框中輸入以下一個(gè)或多個(gè)子句,可以使用&(AND)、||(OR)、!(NOT)和圓括號(hào)組合這些子句描述應(yīng)在何處設(shè)置斷點(diǎn)的表達(dá)式,或者清除該表達(dá)式以便在所有進(jìn)程和線程中設(shè)置斷點(diǎn)。比如,希望斷點(diǎn)只在被機(jī)器名為xye-PC的機(jī)器訪問(wèn)時(shí)才觸發(fā),我們可以右擊斷點(diǎn)進(jìn)行斷點(diǎn)篩選器設(shè)置。當(dāng)其他機(jī)器訪問(wèn)程序的時(shí)候斷點(diǎn)不會(huì)觸發(fā),其他機(jī)器訪問(wèn)時(shí)感覺(jué)不到斷點(diǎn)的存在。

          跟蹤點(diǎn)進(jìn)入斷點(diǎn)時(shí)的自定義操作

          許多人不知道“跟蹤點(diǎn)(TrackPoints)”這個(gè)調(diào)試功能。“跟蹤點(diǎn)“是種特殊的斷點(diǎn),當(dāng)它被命中時(shí),它會(huì)觸發(fā)一系列自定義操作。如果你想觀察程序的行為,而又不想中斷調(diào)試的時(shí)候,這個(gè)功能尤其有用。

          我將用一個(gè)簡(jiǎn)單的控制臺(tái)程序來(lái)演示如何使用“跟蹤點(diǎn)”。如下是斐波那契數(shù)列的一個(gè)遞歸實(shí)現(xiàn):

          以上程序中,我們使用Console.WriteLine() 輸出針對(duì)特定輸入值生成的最終斐波那契數(shù)列。如果希望在調(diào)試器里觀察操作中每一次遞歸運(yùn)算后的數(shù)列而又不實(shí)際中斷程序運(yùn)行,該怎么辦呢?“跟蹤點(diǎn)”可以輕松實(shí)現(xiàn)。

          設(shè)置跟蹤點(diǎn):

          你可以在特定的行上,按F9加跟蹤點(diǎn)。然后右擊斷點(diǎn),在上下文菜單中選擇“命中條件”:

          在彈出對(duì)話框上,你可以設(shè)置命中該斷點(diǎn)時(shí),所觸發(fā)的事件。

          在上面例子中,我們?cè)O(shè)定一旦命中斷點(diǎn)時(shí)就打印追蹤信息。注意,我們已經(jīng)把局部變量“x”的值,作為追蹤信息的一部分輸出。局部變量可以通過(guò){變 量名}語(yǔ)法輸出。你還可以利用系統(tǒng)內(nèi)置的命令($CALLER, $CALLSTACK, $FUNCTION等等),在追蹤信息中輸出常用的調(diào)試值。

          在上例中,我們同時(shí)選中了底端的“continue execution“選項(xiàng),這說(shuō)明我們不希望程序中斷調(diào)試狀態(tài),而是繼續(xù)運(yùn)行。唯一的不同是:每次斷點(diǎn)條件滿足時(shí),我們的自定義追蹤信息都將被輸出。

          現(xiàn)在當(dāng)我們運(yùn)行程序時(shí),會(huì)發(fā)現(xiàn)自定義追蹤信息自動(dòng)顯示在Visual Studio的“輸出“窗口里。這讓我們很容易看到程序的遞歸調(diào)用過(guò)程:

          你也可以選擇往應(yīng)用程序中添加一個(gè)自定義追蹤信息的監(jiān)聽(tīng)器。這時(shí)追蹤點(diǎn)的輸出信息將通過(guò)它輸出,而不是Visual Studio的“輸出“窗口。

          關(guān)鍵詞: vs2010 斷點(diǎn)調(diào)試

          下一篇:人人影視正式回歸 號(hào)稱是中國(guó)最大的美劇社區(qū) 附網(wǎng)站地址
          上一篇:如何制作windows服務(wù)安裝包? 服務(wù)安裝包的制作過(guò)程

          科技

           
          国产三级日本三级日产三级66,五月天激情婷婷大综合,996久久国产精品线观看,久久精品人人做人人爽97
          • <bdo id="qgeso"></bdo>
              • <strike id="qgeso"></strike>
              • <sup id="qgeso"></sup><center id="qgeso"></center>
              • <input id="qgeso"></input>
                主站蜘蛛池模板: 免费人成在线观看69式小视频 | 催眠美丽人妇系列| 三级在线看中文字幕完整版| 蝌蚪蚪窝视频在线视频手机| 日本黄色电影在线| 国产亚洲综合一区二区在线| 久久久久久亚洲av无码专区| 草草浮力影院第一页入口| 无翼乌工口肉肉无遮挡无码18| 国产中的精品一区的| 中文字幕第2页| 精品国产三级a∨在线观看| 好日子在线观看视频大全免费| 免费专区丝袜脚调教视频| 99久久免费国产精品| 欧美精品九九99久久在免费线| 国产精品白丝在线观看有码| 亚洲免费网站观看视频| 国产h视频在线| 日本一区二区三区四区| 又粗又硬又大又爽免费视频播放| 一级毛片免费视频网站| 狠狠穞老司机的福67194| 国产高清国内精品福利| 亚洲乱码一区二区三区在线观看 | 亚洲成av人片在线观看无码| 男人天堂免费视频| 日韩精品一区二区三区国语自制 | 全黄大全大色全免费大片| 最近中文字幕高清中文字幕电影二 | 国产精品igao视频网| 九九热视频在线播放| 色欲AV无码一区二区三区| 妞干网在线免费观看| 亚洲欧美清纯丝袜另类| 人人澡人人澡人人看添欧美| 日本成aⅴ人片日本伦| 免费视频88av在线| 337p日本欧洲亚洲大胆人人| 日韩成人在线网站| 冬日恋歌国语版20集中文版|