Visual C++調(diào)試方法大全

Visual C++調(diào)試方法大全

ID:37712341

大?。?15.00 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2019-05-29

Visual C++調(diào)試方法大全_第1頁(yè)
Visual C++調(diào)試方法大全_第2頁(yè)
Visual C++調(diào)試方法大全_第3頁(yè)
Visual C++調(diào)試方法大全_第4頁(yè)
Visual C++調(diào)試方法大全_第5頁(yè)
資源描述:

《Visual C++調(diào)試方法大全》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、VisualC++調(diào)試方法大全一、調(diào)試基礎(chǔ)調(diào)試快捷鍵F5:?開(kāi)始調(diào)試Shift+F5:停止調(diào)試F10:??調(diào)試到下一句,這里是單步跟蹤?F11:??調(diào)試到下一句,跟進(jìn)函數(shù)內(nèi)部Shift+F11:??從當(dāng)前函數(shù)中跳出Ctrl+F10:??調(diào)試到光標(biāo)所在位置F9:??????設(shè)置(取消)斷點(diǎn)Alt+F9:????高級(jí)斷點(diǎn)設(shè)置跟蹤調(diào)試1、?盡量使用快捷鍵時(shí)行調(diào)試2、?觀(guān)察調(diào)試信息3、?高級(jí)中斷設(shè)置異常調(diào)試重試->取消->調(diào)試函數(shù)堆棧,用variables或者callstack窗口Release調(diào)試1、?經(jīng)常測(cè)試你的Debug和Release版本2、?不

2、要移除調(diào)試代碼,如用ASSERT,TRACE等。3、?初始化變量,特別是全局變量,malloc的內(nèi)存,new的內(nèi)存4、?當(dāng)你移除某個(gè)資源時(shí),確保你移除了所有跟這個(gè)資源相關(guān)的申明(主要是在resouce.h文中)5、?使用3或者4級(jí)的警告級(jí)編譯你的代碼,并確保沒(méi)有警告,project->setting->c/c++->warninglevel(中文版是項(xiàng)目->屬性->C/C++->常規(guī)->警告等級(jí))6、?_debug改成NDEBUG進(jìn)行調(diào)試,project->setting->C/C++->Preprocessordefinitions(中文版是項(xiàng)

3、目->屬性->C/C++->預(yù)處理器->預(yù)處理定義)(這里是debug和Release編譯的重要不同之一)7、?在Release中調(diào)試源代碼,project->setting->C/C++->debuginfo選擇programDataBase(中文版是項(xiàng)目->屬性->C/C++->常規(guī)->調(diào)試信息格式->用于“編輯并繼續(xù)”的程序數(shù)據(jù)庫(kù)),project->setting->link選上Generatedebuginfo(中文版是項(xiàng)目->屬性->鏈接器->調(diào)試->生成調(diào)試信息)8、?走讀代碼,特別關(guān)注堆棧和指針二、TRACE宏當(dāng)選擇了Debug目

4、標(biāo),并且afxTraceEnabled變量被置為T(mén)RUE時(shí),TRACE宏也就隨之被激活了。但在程序的Release版本中,它們是被完全禁止的。下面是一個(gè)典型的TRACE語(yǔ)句:????…???????intnCount=9;???????CStringstrDesc("total");???????TRACE("Count=%d,Description=%s",nCount,strDesc);???????…?可以看到,TRACE語(yǔ)句的工作方式有點(diǎn)像C語(yǔ)言中的printf語(yǔ)句,TRACE宏參數(shù)的個(gè)數(shù)是可變的,因此使用起來(lái)非常容易。如果查看MFC

5、的源代碼,你根本找不到TRACE宏,而只能看到TRACE0、TRACE1、TRACE2和TRACE3宏,它們的參數(shù)分別為0、1、2、3。個(gè)人總結(jié):最近看網(wǎng)絡(luò)編程是碰到了TRACE語(yǔ)句,不知道在哪里輸出,查了一晚上資料也沒(méi)找出來(lái),今天終于找到了,方法如下:1.在MFC中加入TRACE語(yǔ)句2.在TOOLS->MFCTRACER中選擇“ENABLETRACING”點(diǎn)擊OK3.進(jìn)行調(diào)試運(yùn)行,GO(F5)(特別注意:不是執(zhí)行‘!’以前之所以不能看到TRACE內(nèi)容,是因?yàn)椴皇钦{(diào)試執(zhí)行,而是‘!’了,切記,切記)?4.然后就會(huì)在OUTPUT中的DEBUG窗口中

6、看到TRACE內(nèi)容了,調(diào)試執(zhí)行會(huì)自動(dòng)從BUILD窗口跳到DEBUG窗口,在那里就看到TRACE的內(nèi)容了,^_^以下是找的TRACE的詳細(xì)介紹:?==============================??????TRACE宏對(duì)于VC下程序調(diào)試來(lái)說(shuō)是很有用的東西,有著類(lèi)似printf的功能;該宏僅僅在程序的DEBUG版本中出現(xiàn),當(dāng)RELEASE的時(shí)候該宏就完全消失了,從而幫助你調(diào)式也在RELEASE的時(shí)候減少代碼量。使用非常簡(jiǎn)單,格式如下:TRACE("DDDDDDDDDDD");TRACE("wewe%d",333);同樣還存在TRACE0,

7、TRACE1,TRACE2。。。分別對(duì)應(yīng)0,1,2。。個(gè)參數(shù)TRACE信息輸出到VCIDE環(huán)境的輸出窗口(該窗口是你編譯項(xiàng)目出錯(cuò)提示的哪個(gè)窗口),但僅限于你在VC中運(yùn)行你的DEBUG版本的程序。TRACE信息還可以使用DEBUGVIEW來(lái)捕獲到。這種情況下,你不能在VC的IDE環(huán)境中運(yùn)行你的程序,而將BUILD好的DEBUG版本的程序單獨(dú)運(yùn)行,這個(gè)時(shí)候可以在DEBUGVIEW的窗口看到DEBUGVIE格式的輸出了。VC中TRACE的用法有以下四種:TRACE1,就是不帶動(dòng)態(tài)參數(shù)輸出字符串,??類(lèi)似C的printf("輸出字符串");?TRACE2

8、:?中的字符串可以帶一個(gè)參數(shù)輸出?,類(lèi)似C的printf("...%d",變量);TRACE3:可以帶兩個(gè)參數(shù)輸出,類(lèi)似C的printf

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。