vs2008環(huán)境下調(diào)試vc程序入門_第1頁
vs2008環(huán)境下調(diào)試vc程序入門_第2頁
vs2008環(huán)境下調(diào)試vc程序入門_第3頁
vs2008環(huán)境下調(diào)試vc程序入門_第4頁
vs2008環(huán)境下調(diào)試vc程序入門_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Vs2008開發(fā)環(huán)境下調(diào)試vc+程序入門BY懶牛、菜單欄中和調(diào)試有關(guān)的各菜單選項圖1一11、Breakpoints顯示程序中所有已加的斷點(diǎn)。2、StartDebugging開始調(diào)試程序,如果程序中沒有斷點(diǎn),則一直運(yùn)行完畢,如果程序中設(shè)置有斷點(diǎn),則動行至斷點(diǎn)。3、AttachtoProcess附加另一個進(jìn)程進(jìn)行調(diào)試,此進(jìn)程可以是其它可執(zhí)行文件,如果有源程序,可調(diào)入源程式調(diào)式,如無源程序,對此進(jìn)程的匯編代碼進(jìn)行調(diào)試。4、ToggleBreakPoint在一行代碼處設(shè)置斷點(diǎn),也可直接在一行代碼前面的灰條處點(diǎn)一鼠標(biāo)左鍵。即可設(shè)置斷點(diǎn),如圖11左側(cè)小紅點(diǎn)就是斷點(diǎn)。再次左鍵點(diǎn)一下即可取消斷點(diǎn)。5、Step

2、Over進(jìn)入單步調(diào)試,或者快捷鍵F10。單步調(diào)試是一行行的向前運(yùn)行,遇到函數(shù)不進(jìn)入函數(shù)體內(nèi);而另一個快捷鍵F11也是單步調(diào)試,但是遇到函數(shù)會進(jìn)入函數(shù)體內(nèi)運(yùn)行。也可以用組合鍵CTRL+F10運(yùn)行到光標(biāo)指定點(diǎn)。6、DeleteAllBreakPoints取消所有的斷點(diǎn)7、DisableAllBreakPoints禁用所有的斷點(diǎn),但不取消。再次點(diǎn)一下菜單命令可恢復(fù)。二、各種調(diào)試和變量窗口圖2-11、最上面顯示的是目前所處的進(jìn)程和線程名2、左邊黃色箭頭指明現(xiàn)在調(diào)試運(yùn)行到此處3、右邊是調(diào)試變量窗口,有三個子窗口Autos窗口,Locals窗口,Watchl窗口,這三個窗口中前二個自動顯示黃色箭頭運(yùn)行處的

3、本地變量內(nèi)容。而Watchl中可手工輸入變量名,系統(tǒng)會自動列出變量的值。Value欄中的內(nèi)容是可以修改的,比如圖21中的循環(huán)計數(shù)變量m_dwSpinCount值是4000,如果我們調(diào)試時進(jìn)入這個循環(huán),要手工運(yùn)行4000次,才能退出循環(huán),這太麻煩,此時,可以直接鼠標(biāo)左鍵點(diǎn)變量窗口中4000這個值,修改變量值為0次。繼續(xù)單步調(diào)試程序,退出循環(huán)。當(dāng)然你也可以在循環(huán)外面加一個斷點(diǎn),直接按F5跳出循環(huán)到斷點(diǎn)處。想査看全局變量,或靜態(tài)變量的值,在Watchl窗口中手工輸入變量名即可。也可直接在程序中把鼠標(biāo)移到你想查看的變量名上,停留一下,自動顯示變量的內(nèi)容。4、最下面的是顯示所有的斷點(diǎn)的窗口,點(diǎn)擊哪一個斷

4、點(diǎn),上面的代碼就會定位到源代碼中相應(yīng)的設(shè)置斷點(diǎn)的行上。三、多線程和多進(jìn)程調(diào)試。1、在對多線程進(jìn)行調(diào)試時,要在每個線程函數(shù)開始處加一個斷點(diǎn),否則,主線程運(yùn)行,你是不可能進(jìn)入別的線程中去的。比如,在主線程中生成二個線程,主線程是繼續(xù)向前運(yùn)行的,除非遇到wait系列的函數(shù),是不會停止的,也不會主動跳到另外一個線程中去,這時我們在另二個線程中加入斷點(diǎn),這二個線程是隨機(jī)執(zhí)行的,無論哪一個先運(yùn)行,一遇到斷點(diǎn)就會停下,這時我們就可對線程進(jìn)行調(diào)試,完成后,跳到第二個線程斷點(diǎn)處等待,這樣我們可以遍歷所有加斷點(diǎn)的線程。2、多進(jìn)程稍微麻煩一點(diǎn),在有源代碼的情況下,可以在程序開始處加一個DebugBreak()函數(shù)強(qiáng)

5、迫進(jìn)程進(jìn)入調(diào)試狀態(tài)。如圖:這里先運(yùn)行一個進(jìn)程,在這個進(jìn)程中再運(yùn)行一個子進(jìn)程,這個子進(jìn)程是程序的另一個實例,當(dāng)子進(jìn)程一運(yùn)行,就會到第一條語句判斷是否是第一個實例,這里因為它是第二個實例,所以直接跳到DebugBreak(處運(yùn)行,會強(qiáng)行彈出一個選擇調(diào)試器對話框如圖:在這里我們選擇vs2008即可,然后點(diǎn)是,這時重新打開另一個vs2O08調(diào)試器,又彈出一個對話框如圖:因為這是新打開的調(diào)試器,雖然前面我們在源程序中已經(jīng)設(shè)置了斷點(diǎn),但是在這個新打開的調(diào)試器中,所有的斷點(diǎn)已經(jīng)看不見了,在這里,我們要點(diǎn)Break,不能點(diǎn)Continue否則進(jìn)程一下就運(yùn)行完了,或者運(yùn)行到wait系列函數(shù)處等待第一個進(jìn)程釋放事件對象。就起不到調(diào)試的作用了。3、在這時要注意的是,調(diào)試時程序運(yùn)行的當(dāng)前行是有一個黃色的箭頭指示,但是當(dāng)調(diào)試多進(jìn)程時,哪一個進(jìn)程處于激活狀態(tài),哪一個進(jìn)程的調(diào)試器才能看到當(dāng)前運(yùn)行的黃箭

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論