亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

掌握C++ builder的除錯藝術(shù)(2).2

2019-09-06 23:33:48
字體:
供稿:網(wǎng)友

                    掌握c++builder的除錯藝術(shù)

第二篇-近距離觀察(2)

使用evaluate/modify(求值/修改)

最后一種顯示變量或代碼塊的值的途徑是evaluate/modify(求值/修改)窗口。這個窗口可以象打開巡視器一樣打開,在您要evaluate/modify(求值/修改)的代碼行上右擊選擇"debug|evaluate/modify"就會彈出evaluate/modify(求值/修改)窗口。本窗口用來對表達(dá)式/變量求值并/或修改。watches和/或inspectors也可以實現(xiàn)同樣的功能。但如果您想要修改的話,這里恐怕是最好的地方。

“察看變量已經(jīng)聽夠了,現(xiàn)在我想去看看我的代碼到底怎么了,而不是干坐在這里。”我聽見您如是說。下一節(jié)我們將在函數(shù)體內(nèi)外單步跟蹤直至斷點(還記得前面的東西么?)。

在代碼塊內(nèi)外進(jìn)行stepping(單步執(zhí)行/跟蹤)

在此有一件事要牢記,前面講的絕大多數(shù)察看變量的辦法是動態(tài)更新的。所以當(dāng)您跟蹤至新的一行的時候,變量的值會被自動重新求值,并且顯示在窗口中的值被更新成新的當(dāng)前值。

okay,當(dāng)您點擊您所設(shè)置的斷點時,您會看到您所需檢查的變量。下一步就是在代碼中單步執(zhí)行并且近距離觀察實際發(fā)生的與您所猜測的是否一致(通過使用watches/inspectors并跟隨代碼的執(zhí)行路徑前進(jìn))。

stepping的類型

這部分解釋起來似乎很簡單。但下面的大部分都是來討論您用這些能做什么(好像在別處沒有聽到過?)。您可以告訴調(diào)試器五種"stepping types"(單步執(zhí)行類型)。我們會按run菜單上的順序來解釋。我同時會給出它們的快捷鍵。在調(diào)試時使用快捷鍵的次數(shù)會多過使用菜單選項的(比較按10次鍵盤與選10次菜單,我想您知道什么更好)。

第一種是"step over"(在函數(shù)體外單步執(zhí)行)或者f8。這會讓調(diào)試器執(zhí)行代碼至當(dāng)前函數(shù)的下一行可見的代碼停下,或者當(dāng)運(yùn)行至當(dāng)前函數(shù)的最后一行時,調(diào)試器返回至調(diào)用函數(shù)停下。在您知道所調(diào)用的函數(shù)沒有問題時,stepping over功能很方便。

下一個是"trace into"(跟蹤至函數(shù)體內(nèi))或f7。如果運(yùn)行的當(dāng)前行是調(diào)用一個函數(shù),調(diào)試器將把我們帶到調(diào)用的函數(shù)的第一行(即使是隱含調(diào)用函數(shù),例如一個write屬性)。否則執(zhí)行至當(dāng)前行的下一行。當(dāng)您想看看這個函數(shù)到底做些什么時,這個功能非常方便。

接下來是"trace to next source line"(跟蹤至下一個源代碼行)或shift-f7。調(diào)試器會運(yùn)行至下一個具有調(diào)試信息的代碼行。這與"trace into"的區(qū)別,讓我們舉例來說明吧。當(dāng)我們調(diào)用一個沒有源代碼的windows api函數(shù)并且這個api函數(shù)調(diào)用了我們代碼中的一個回調(diào)函數(shù)。"trace to next source line"將在回調(diào)函數(shù)的第一行停下來,而"trace into"會忽略這個回調(diào)函數(shù)并在當(dāng)前程序的下一行停下來。

然后是"run to cursor"(運(yùn)行至光標(biāo)處)或f4。調(diào)試器將運(yùn)行代碼直至光標(biāo)所在的行。這使得不需設(shè)置斷點又可以跳過大片代碼變得很方便(考慮只需停頓一次的情況)。

還有"run until return"(運(yùn)行至返回)或shift-f8。調(diào)試器將運(yùn)行代碼直至當(dāng)前函數(shù)返回調(diào)用他的函數(shù)。當(dāng)您不想手工單步執(zhí)行至函數(shù)結(jié)束(假如您陷入一個循環(huán)中的話,這個過程會變的十分冗長)時,這么做就會很方便的跳到函數(shù)的結(jié)尾處。

最后一個是"program reset"(程序重置)或ctrl-f2。調(diào)試器會中斷已運(yùn)行的程序并返回至調(diào)試器。除非迫不得已不要這么做,因為對象所使用的資源沒有被釋放!!!(在一個數(shù)據(jù)庫應(yīng)用程序中,這樣做2-3次后,您將不得不關(guān)閉并重啟ide,因為bde內(nèi)部資源將耗盡。您已經(jīng)被警告啦)。當(dāng)您不得不中止可執(zhí)行程序時,這非常有用。

最后(卻在菜單很上面的位置)是"run"(運(yùn)行)或f9。調(diào)試器將運(yùn)行至程序結(jié)束,除非碰到您點擊新的斷點或發(fā)生異常。

stepping的注解

要牢記的是所有這些單步執(zhí)行方式在調(diào)試器通過斷點時,調(diào)試器會對斷點求值,若斷點需要就停下。如果出現(xiàn)異常,調(diào)試器也會停下。

正如您所見,在正確的地方設(shè)置斷點,察看變量并在代碼中單步跟蹤,我們能夠以非常近的距離觀察程序在做什么就好象它真的運(yùn)行一樣。這些功能在追查最困難的bugs---邏輯bug時,相當(dāng)方便。

其他提示

如果您真的很勇猛并有匯編語言的經(jīng)驗,您可以點擊"view|debug windows|cpu"打開一個"cpu view"cpu窗口。這里不僅顯示了當(dāng)前可執(zhí)行程序的指令的匯編指令,還有象cpu標(biāo)志、寄存器的內(nèi)容和不斷更新的內(nèi)存印象

使用call stack ("view|debug windows|call stack")可以很方便的找出發(fā)生異常之前或遇到斷點之前的函數(shù)調(diào)用歷史。記住,這里只是顯示什么函數(shù)被什么函數(shù)調(diào)用過,并非真正的調(diào)用過程的歷史記錄。因此,這個窗口可能先會讓您感到困惑。但是只要開著它來stepping through單步跟蹤代碼至函數(shù)體內(nèi),好好觀察一下您就會完全明白了。

c++builder4、5中,watch, local variable, 和 call stack窗口可以駐留在code主窗口中,使用起來更加方便。c++builder5中還可以設(shè)定調(diào)試布局,以便在調(diào)試時使用(針對您在設(shè)計時使用的設(shè)計布局來講的)。

使用所有我所公布的所有技術(shù)再加上一點點耐心和一雙火眼金睛,您應(yīng)該可以解決99%的bug。若您想找到bug,耐心是必要的。花點時間,深呼吸一下,不要讓挫折嚇倒。如果有必要,走出去5分鐘干點別的,您會驚奇的發(fā)現(xiàn)自己有了新的視野或者發(fā)現(xiàn)開始時漏掉了什么步驟。

如果您有其他的技巧和提示覺得應(yīng)該加入此文,請盡管來信告訴我們,我們會在以后的版本中加入您的意見。

好了,我希望這篇文章在某種程度上有助于耐心的讀者們。如果正是這樣,我會十分高興自己干了件不錯的工作。也許您所有的bugs都已微不足道了。

原著:bill king

翻譯:史平洋 - cker



版權(quán)說明:

國內(nèi)的網(wǎng)站上,有許多關(guān)于c++builder的內(nèi)容,但多以軟件、組件為主。論壇里也大都不能令人滿意,很空虛的感覺。書籍又都昂貴,內(nèi)容卻有搶錢之嫌。對銀子不足的初學(xué)者、自學(xué)者關(guān)愛不夠,因而想盡自己的綿薄之力。

文中的所有資料都是從國外網(wǎng)站上收集而來。因為e文不方便,所以翻成中文。因為english和計算機(jī)都不是非常好,文中的錯誤在所難免。若大家覺得有用的話,我計劃不斷搜集翻譯一些有用的東西。

有任何意見和建議請mailto:cker@sina.com

您可以隨意復(fù)制、分發(fā)、下載此文檔。但未經(jīng)本人同意,您不可以截取、改動本文片斷,或用本文謀取任何形式的利益。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

亚洲午夜成aⅴ人片| www五月天com| 亚洲国产午夜伦理片大全在线观看网站| 7777狠狠狠琪琪电影| 欧美一级片在线观看| 写真福利片hd在线播放| 午夜精品久久久久久久星辰影院| 天天干中文字幕| 亚洲av无码乱码国产麻豆| 亚洲午夜精品久久久久久久久久久久| 国产精品欧美风情| 盗摄牛牛av影视一区二区| 欧美熟妇交换久久久久久分类| 成人免费黄色小视频| 国产在线精品一区二区夜色| 成午夜精品一区二区三区软件| 一级毛片视频在线观看| 国产成人精品一区二区免费视频| 日韩精品无码一区二区三区免费| 欧美中文在线观看国产| 人人澡人人澡人人看欧美| 高清国语自产拍免费一区二区三区| 大胆人体一区| 国产精品亚洲第一区在线暖暖韩国| 欧美视频第三页| 国产a视频精品免费观看| 欧美mv日韩mv国产网站app| 91视频地址| av男人天堂一区| 亚洲午夜精品久久久久久浪潮| 精品毛片乱码1区2区3区| eeuss影院网站免费观看| 日韩欧美精品中文字幕| 精品国内亚洲在观看18黄| 青草青在线视频| 97人洗澡人人免费公开视频碰碰碰| 亚洲成色在线综合网站2018站| 91在线观看免费网站| 成人在线黄色| 日韩欧美高清一区二区三区| 亚洲天天影视网| 天天色 色综合| 亚洲图片小说在线| 精品影视av免费| 中文字幕欧美日韩| a级片国产精品自在拍在线播放| 精品国产一区二区三区久久久狼| 欧洲av一区二区| 动漫精品一区一码二码三码四码| 亚洲一区二区在线视频观看| 亚洲精品中文字幕有码专区| 欧美日韩一区二区区别是什么| 男人午夜影院| 国产精品久久久久一区二区国产| 亚洲天堂视频在线| 国产在线观看一区二区| 精人妻无码一区二区三区| 91综合精品国产丝袜长腿久久| 成人影视亚洲图片在线| 亚洲欧美日韩三级| 亚洲欧美日韩电影| 亚洲男女自偷自拍图片另类| 91在线观看免费网站| 久久精品人人做人人爽电影| 国产成人久久精品77777综合| 亚洲免费激情| 91在线看片| 成人精品视频.| 成人午夜看片网址| 午夜久久影院| 精品国产1区二区| 中文字幕国产亚洲| 99thz桃花论族在线播放| 日韩精品一区二区三区swag| 欧美日韩一区二区在线免费观看| 成人免费在线视频| 99久久久无码国产精品衣服| 国产91网红主播在线观看| 国产精品50p| 国产乱精品一区二区三区| 国产伦精品一区二区三区视频黑人| 久久人人爽人人人人片| 国产视频1区| 嫩草影院官网| 在线国产欧美| 天天操天天射天天插| 国产人妻黑人一区二区三区| 秋霞av在线| 欧美精品自拍| 亚瑟一区二区三区四区| 国产极品美女高潮无套嗷嗷叫酒店| 欧美在线一区二区| 超碰超碰超碰超碰| 日韩精品中文字幕在线观看| 国产区在线观看| 欧美日韩爱爱视频| 久久精品久久久| 成人h动漫精品一区二区下载| 国产福利在线| 蜜桃av在线免费观看| 国产成人精品一区二区在线小狼| 亚洲精品无码久久久久久久| 91久久中文字幕| 久久久噜久噜久久综合| 日韩福利视频在线| 免费在线观看成年人视频| 国际精品欧美精品| 久久视频精品在线观看| 国产高清不卡无码视频| 亚洲欧洲自拍偷拍| 国产91精品一区二区麻豆网站| 老司机午夜免费福利| 欧美女同网站| 国产在线看片免费视频在线观看| 二区视频在线观看| 成人成人成人在线视频| 神马久久久久久久久| 久久精品国产亚洲夜色av网站| 婷婷激情综合五月天| 牛牛电影国产一区二区| 国产传媒久久文化传媒| www.com.av| 激情久久99| 555www成人网| 国产老女人乱淫免费| 国模私拍国内精品国内av| 在线播放日韩欧美| 国产精品88888| 漫画在线观看av| 亚洲美女性生活视频| 国产欧美一区二区三区在线观看视频| 91av视频在线免费观看| 99视频精品免费视频| 日本1区2区| 国产美女极品在线| 日本一区二区三区视频视频| 69xxx免费视频| 久久91成人| 国产免费一区二区三区四区五区| 在线免费观看a级片| 国产一级久久久久毛片精品| 中文字幕亚洲一区二区va在线| 欧美最猛黑人xxxx黑人猛交黄| 激情综合网址| 国产乱码精品一区二区三区精东| 国产精品99一区二区| 91精品国自产在线观看| 国产一区二区美女视频| 国产不卡在线| 特级西西人体www高清大胆| 六九午夜精品视频| 久久精品国产成人av| 精品美女调教视频| 亚洲午夜无码av毛片久久| 一级少妇精品久久久久久久| av高清在线| 日韩xxxx视频| 一分钟免费观看视频播放www| 美美哒免费高清在线观看视频一区二区| 成人免费观看在线视频| 亚洲精品字幕在线观看| 欧美1区2区| 国产日韩换脸av一区在线观看| 一区二区不卡在线播放| 亚洲天堂网站在线| 在线观看成人一级片| 欧美久久久久免费| 日韩欧美一区二区在线视频| 色婷婷综合久久久久中文一区二区| 久草在线视频网站| 精品国产乱码久久久久久久久| 亚洲高清国产精品| 国产成人亚洲综合a∨婷婷图片| 亚洲国产欧美在线成人app| 亚洲黄色片视频| 久久99久久99精品免费看小说| 欧美精品久久久久久久久久久| 中文字幕国产专区| 亚洲国产wwwccc36天堂| 日韩一二三在线视频播| 亚洲第一免费看片| 成年女人午夜毛片免费看| 国产精品三级在线| 99国产精品久久一区二区三区| 美国av一区二区| 久久亚洲一区二区三区四区| 国产女人高潮的av毛片| 日韩片在线观看| 亚洲免费大片在线观看| www.超碰97| 国产欧美日韩| 最近2018年中文字幕在线| 人妻av无码一区二区三区| 欧美不卡激情三级在线观看| 在线观看免费黄色网址| 午夜视频免费在线观看| 久久777国产线看观看精品| 色婷婷av一区二区| 日本中文字幕在线播放| 女人帮男人橹视频播放| www久久久久久久| 亚洲欧美国产日韩中文字幕| 亚洲欧洲制服丝袜| 成人国产精品久久久久久亚洲| 国产精品午夜一区二区| 欧美床上激情在线观看| 中文字幕人成高清视频| www.夜夜爽| 国产一级片一区二区| 91精品国产一区二区在线观看| 性xx无遮挡| 国产97在线观看| 不卡av免费观看| 欧美a级在线| 欧美区一区二区三区| 91精品婷婷国产综合久久蝌蚪| 日韩精品在线观看一区二区| 老熟妇一区二区三区啪啪| 精品一区二区三区免费观看| 亚洲性感美女99在线| 国产又粗又猛又爽又黄的视频一| 欧美一区二区三区在线视频| 成人看片黄a免费看在线| 91网在线看| 任你躁在线精品免费| 国产精品第100页| 国产高清视频免费最新在线| 激情校园亚洲图片| 一区二区视频网站| 国产精品一区二区小说| 一区二区三区四区在线不卡高清| 综合亚洲自拍| 日本三级2019| 国产卡二和卡三的视频| 污网站免费在线观看| 国模叶桐国产精品一区| √天堂8在线网| 在线亚洲欧美日韩| 国产精品一二三区在线| 99a精品视频在线观看| 激情综合色综合久久综合| 亚洲精品菠萝久久久久久久| 日本电影亚洲天堂一区| 欧美影视一区在线| 国产精品色哟哟网站| 国产一区三区三区| 免费看美女视频在线网站| 精品国产av色一区二区深夜久久| 美女被啪啪一区二区| 涩涩网在线视频| 成人欧美一区二区三区黑人麻豆| 国产jk精品白丝av在线观看| 风间由美一区二区三区| 奇米777四色影视在线看| 亚洲第一精品网站| 亚洲一区二区三区网站| 日韩在线视频在线观看| 午夜美女久久久久爽久久| 日韩av无码一区二区三区不卡| 欧美一区二区美女| 美女av一区二区三区| 人人狠狠综合久久亚洲婷| 中文字幕久精品免| 九七影院97影院理论片久久| 亚洲国产一区在线| 2021久久精品国产99国产精品| 国产aaa免费视频| 桃花岛成人影院| 正在播放精油久久| 国产91色综合久久免费分享| bdsm在线观看播放视频| 国产资源精品在线观看| 日本国产高清不卡| 殴美一级黄色片| 国产精品无码2021在线观看| 中国人与牲禽动交精品| 国产chinese男男gaygay网站| 海角国产乱辈乱精品视频| 韩国成人精品a∨在线观看| 好看的黄色网址| 午夜一区二区三区四区| 99热99在线| 蜜桃视频欧美| 国语对白做受xxxxx在线中国| 国产精品久久久久av蜜臀| 免费看欧美黑人毛片| 久久成人麻豆午夜电影| av伦理在线| 久久久久久国产精品视频| 超碰超碰超碰超碰超碰| 国产九九九九九| 超碰97在线人人| 很黄很色的网站| 亚洲国产日韩欧美| 久久99影视| 久久黄色级2电影| 青青青爽在线视频免费观看| 第84页国产精品| 97se综合| 亚洲香蕉伊在人在线观| 91国拍精品国产粉嫩亚洲一区| 亚洲精品成人在线| 天天综合网天天做天天受| 91免费观看视频在线| 欧美综合一区| 激情国产一区二区| 国产女人爽到高潮a毛片| 91九色单男在线观看| 欧美xxxx吸乳| 久久国产视频网站| 欧美激情视频网址| 鲁丝一区鲁丝二区鲁丝三区| 在线观看天堂| 国产欧美日韩精品丝袜高跟鞋| 欧美综合激情网| 亚洲a视频在线| 亚洲精品色午夜无码专区日韩| 成人毛片100部免费看| 日韩av中文字幕一区| 亚洲www免费| 99久久婷婷国产综合精品电影√| 国产老妇伦国产熟女老妇视频| 粉嫩av性色av蜜臀av网站| 国产一区二区自拍视频| 亚洲视频专区在线| 黄色免费视频观看| 久久亚洲精品人成综合网| 九九九九九伊人|