第1講12_1VC怎樣調試程序_第1頁
第1講12_1VC怎樣調試程序_第2頁
第1講12_1VC怎樣調試程序_第3頁
第1講12_1VC怎樣調試程序_第4頁
第1講12_1VC怎樣調試程序_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、VC+程序調試演示VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Debugger 變量跟蹤 設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Debugger 變量跟蹤 設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型程序調試概述 概述 檢測和糾正錯誤是軟件開發的重要組成部分,稱這為確認與驗正。確認指的是檢查算法和程序是否達到了問題的技術要求,驗證是指檢查算法和程序是否正確和完整。 好的調試策略 定位錯誤的一種好的方法是使程序打印引導性結果,以及指出什么時候該程序的某一部

2、分開始執行和結束執行的消息。程序調試概述 四種程序錯誤類型 語法或編譯時錯誤 連接錯誤 運行錯誤 邏輯或意圖錯誤 查看錯誤消息 為查看產生特定診斷消息的代碼語句,只要雙擊Output窗口中相關的診斷消息即可; 為獲得一條錯誤消息的幫助,首先在Output窗口中使用鼠標指針單擊錯誤消息碼,然后按1鍵,相應幫助文件打開。程序調試概述 預防性維護 一條有經驗的方法是桌面檢查法。桌面檢查一個程序類似于核對一封信或手稿,其思想是在內心對程序進行跟蹤,確保程序邏輯正確。程序員必須考慮各種可能的輸入,并記錄程序執行期間所產生的所有結果。VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Deb

3、ugger 變量跟蹤 設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型Debugger工具欄簡介Restart:(CTRL+SHIFT+F5)指示VC+,用戶要從開始處調試程序,而不是從當前所跟蹤的位置開始調試Debugger工具欄簡介停止程序調試,返回到Build菜單選項Debugger工具欄簡介在當前點上掛起程序的執行Debugger工具欄簡介(ALT+F10)可以在程序正在調試時修改源代碼Debugger工具欄簡介(ALT+NUM)顯示程序代碼中的下一條語句Debugger工具欄簡介(F11)正在跟蹤的語句是一個子程序調用(函數或方法)時,該選項單步進入所調用的子程序

4、Debugger工具欄簡介(F10)正在跟蹤的語句是一個子程序調用(函數或方法)時,該選項跳過所調用的子程序,停留在子程序調用下面的語句Debugger工具欄簡介(SHIFT+F11)確認當前子程序中沒有程序錯誤時,該選項可以快速執行該子程序,并停留在子程序后面的語句Debugger工具欄簡介(CTRL+F10)快速執行到光標所在的代碼處Debugger工具欄簡介(SHIFT+F9)顯示QuickWatch窗口,在該窗口可以計算表達式的值Debugger工具欄簡介打開Watch窗口,該窗口包含該應用程序的變量名及其當前值,以及所有選擇表達式Debugger工具欄簡介打開Variables窗口,

5、該窗口包含關于當前和前面的語句中所使用的變量和返回值Debugger工具欄簡介顯示Regisers窗口,顯示微處理器的一般用途寄存器和CPU狀態寄存器Debugger工具欄簡介打開Memory窗口,顯示該應用程序的當前內存內容Debugger工具欄簡介顯示所有未返回的被調用的子程序名Debugger工具欄簡介打開一個包含匯編語言代碼的窗口,其中的匯編語言代碼來自編譯后程序的反匯編VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Debugger 變量跟蹤 設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型啟動Debugger在VC+中打開源程序啟動Debugg

6、er進入調試模式VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Debugger 變量跟蹤 設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型變量跟蹤按F10,Auto窗口出現a,b,c三個變量,注意這三個變量還沒有被賦值變量跟蹤按F10, a,b,c三個變量被賦值,s和area變量還沒有被賦值變量跟蹤按F10, s變量被賦值,area變量還沒有被賦值變量跟蹤按F10, area變量被賦值變量跟蹤按F10, 輸出a,b,c,s的值變量跟蹤按F10, 輸出area的值VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Debugger 變量跟蹤

7、設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型設置斷點將光標放到需要設置斷點的行設置斷點點擊按鈕斷點設置好VC+程序調試演示 程序調試概述 Debugger工具欄簡介 啟動Debugger 變量跟蹤 設置斷點 快速執行到一個斷點 結束Debugger 快速查看變量類型快速執行到一個斷點點擊按鈕快速執行到斷點設置行3如何設置斷點如何設置斷點 在在VCVC中,可以設置多種類型的斷點,根據斷點起中,可以設置多種類型的斷點,根據斷點起作用的方式把這些斷點分為三類作用的方式把這些斷點分為三類: : * * * 與位置有關的斷點;與位置有關的斷點; * * * 與邏輯條件有關的斷點與

8、邏輯條件有關的斷點 * * * 與與WINDOWSWINDOWS消息有關的斷點。消息有關的斷點。 與位置有關的斷點;與位置有關的斷點; 1、最簡單的是設置一般位置斷點,把光標移到你要設斷點的位置;、最簡單的是設置一般位置斷點,把光標移到你要設斷點的位置;然后按工具條上的然后按工具條上的add/remove breakpoint 按鈕或按快捷鍵按鈕或按快捷鍵F9;在這;在這一行的左邊出現一個紅色的圓點表示設了一個斷點。一行的左邊出現一個紅色的圓點表示設了一個斷點。 2 2 、當在滿足一定條件的情況下才停下來,設置一種與位置有關的邏輯斷點。、當在滿足一定條件的情況下才停下來,設置一種與位置有關的邏

9、輯斷點。從從EDIT EDIT 菜單中選中菜單中選中breakpointbreakpoint命令。選中命令。選中BreakpointBreakpoint對話框中的對話框中的LOCATIONLOCATION標簽,使標簽,使LOCATION LOCATION 頁面彈出。頁面彈出。 單擊單擊condition按鈕,彈出按鈕,彈出Breakpoint對話框,在對話框,在Expression編編輯框中寫出邏輯表達式,如輯框中寫出邏輯表達式,如X=3或或a+b25,最后按最后按OK返回。返回。 這種斷點主要是由其位置發生作用的,但也結合了邏輯條件。這種斷點主要是由其位置發生作用的,但也結合了邏輯條件。3、

10、當需要更深入地調試程序,需要進入程序的匯編代碼,在匯編代碼上設立斷點:從、當需要更深入地調試程序,需要進入程序的匯編代碼,在匯編代碼上設立斷點:從View菜單中選菜單中選Debug window命令命令 ,再選,再選Disassembly子命令,這時匯編窗口將會出現在屏幕上。子命令,這時匯編窗口將會出現在屏幕上。 匯編窗口是對應于源程序的匯編代碼,源程序用黑體字顯示,下匯編窗口是對應于源程序的匯編代碼,源程序用黑體字顯示,下面是對應的匯編代碼。設立斷點,將光標移到想設斷點處然后點擊工面是對應的匯編代碼。設立斷點,將光標移到想設斷點處然后點擊工具條上的具條上的Insert/Remove Brea

11、kpoints 按鈕,將會看到一個紅圓點出按鈕,將會看到一個紅圓點出現在該匯編代碼的右邊。現在該匯編代碼的右邊。 與邏輯條件有關的斷點與邏輯條件有關的斷點 1 1、邏輯條件觸發斷點的設置:、邏輯條件觸發斷點的設置:* *從從EDIT EDIT 菜單中選中菜單中選中breakpointbreakpoint命令,屏幕上出現命令,屏幕上出現BreakpointBreakpoint對話框。對話框。* * 選中選中Breakpoint對話框中的對話框中的DATA標簽,對應的頁面將會彈出標簽,對應的頁面將會彈出 * * DATA DATA頁面中的頁面中的ExpressionExpression編輯框中寫出

12、邏輯表達式,如編輯框中寫出邏輯表達式,如(X=3);(X=3);2 2、監視表達式發生變化斷點:、監視表達式發生變化斷點:* * 從從EDIT EDIT 菜單中選中菜單中選中breakpointbreakpoint命令,屏幕命令,屏幕上將會出現上將會出現BreakpointBreakpoint對話框。對話框。* * 選中選中BreakpointBreakpoint對話框中的對話框中的DATADATA標簽,對標簽,對應的頁面將會彈出。應的頁面將會彈出。* * 在在ExpressionExpression編輯框中寫出需要監視的表編輯框中寫出需要監視的表達式。達式。* * 最后按最后按OKOK鍵返回

13、。鍵返回。3 3、監視數組發生變化的斷點:、監視數組發生變化的斷點:* * 從從EDIT EDIT 菜單中選中菜單中選中breakpointbreakpoint命令,屏幕命令,屏幕上將會出現上將會出現BreakpointBreakpoint對話框。對話框。* * 選中選中BreakpointBreakpoint對話框中的對話框中的DATADATA標簽,對標簽,對應的頁面將會彈出。應的頁面將會彈出。* * 在在ExpressionExpression編輯框中寫出需要監視的數編輯框中寫出需要監視的數組名;在組名;在Number of Elements Number of Elements 編輯框輸

14、入需編輯框輸入需要監視數組元素的個數;要監視數組元素的個數; * * 按按OKOK鍵返回。鍵返回。 4 4、監視由指針指向的數組發生變化的斷點:、監視由指針指向的數組發生變化的斷點: * * 從從EDIT EDIT 菜單中選中菜單中選中breakpointbreakpoint命令,在屏命令,在屏幕上將會出現幕上將會出現BreakpointBreakpoint對話框。對話框。 * * 選中選中BreakpointBreakpoint對話框中的對話框中的DATADATA標簽;標簽; * * 在在ExpressionExpression編輯框中輸入形如編輯框中輸入形如* *pointname,poi

15、ntname,其中其中* *pointnamepointname為指針變量名為指針變量名;在;在Number of ElementsNumber of Elements編輯框輸入需要編輯框輸入需要監視數組元素的個數;監視數組元素的個數; * * 最后按最后按OKOK鍵返回。鍵返回。5 5、監視外部變量發生變化的斷點:、監視外部變量發生變化的斷點:* * 從從EDIT EDIT 菜單中選中菜單中選中breakpointbreakpoint命令,屏幕命令,屏幕上將會出現上將會出現BreakpointBreakpoint對話框;對話框; * * 選中選中BreakpointBreakpoint對話框

16、中的對話框中的DATADATA標簽;標簽; * * 在在ExpressionExpression編輯框中輸入變量名;編輯框中輸入變量名; * * 點擊在點擊在ExpressionExpression編輯框的右邊的下拉編輯框的右邊的下拉鍵頭;鍵頭; * * 選取選取AdvancedAdvanced選項,選項,Advanced Advanced Breakpoint Breakpoint 對話框出現;對話框出現; * * 在在contextcontext框中輸入對應的函數名和文件框中輸入對應的函數名和文件名;名; * * 按按OKOK鍵關閉鍵關閉Advanced Breakpoint Advanc

17、ed Breakpoint 對話對話框。框。 * * 按按OKOK鍵關閉鍵關閉Breakpoints Breakpoints 對話框。對話框。 4 控制程序的運行控制程序的運行 從菜單從菜單BuildBuild到子菜單到子菜單Start Debuging Start Debuging 選擇選擇GoGo程序開程序開始運行在始運行在DebugDebug狀態下,程序會由于斷點而停頓下來后,狀態下,程序會由于斷點而停頓下來后,可以看到有一個小箭頭,它指向即將執行的代碼。按要求可以看到有一個小箭頭,它指向即將執行的代碼。按要求來控制程序的運行來控制程序的運行, ,其中有四條命令:其中有四條命令:Step

18、 over, step Step over, step Into , Step Out ,Run to CursorInto , Step Out ,Run to Cursor。 Step over Step over 的功能是運行當前箭頭指向的代碼的功能是運行當前箭頭指向的代碼( (只運行一只運行一條代碼條代碼) )。 Step IntoStep Into的功能是如果當前箭頭所指的代碼是一個函數的功能是如果當前箭頭所指的代碼是一個函數的調用,則用的調用,則用Step Into Step Into 進入該函數進行單步執行。進入該函數進行單步執行。 Step OutStep Out的功能是如當前

19、箭頭所指向的代碼是在某一函的功能是如當前箭頭所指向的代碼是在某一函數內,用它使程序運行至函數返回處。數內,用它使程序運行至函數返回處。 Run to CursorRun to Cursor的功能是使程序運行至光標所指的代碼處的功能是使程序運行至光標所指的代碼處。 5 查看工具的使用查看工具的使用 調試過程中最重要的是要觀察程序在運行過程中的狀態,才能找調試過程中最重要的是要觀察程序在運行過程中的狀態,才能找出程序的錯誤之處。出程序的錯誤之處。1 1、彈出式調試信息泡泡、彈出式調試信息泡泡(Data Tips Pop_up Information)(Data Tips Pop_up Inform

20、ation)。 要看一個變量的值或表達式的值,只需在源程序窗口中,將鼠標放到該變量上要看一個變量的值或表達式的值,只需在源程序窗口中,將鼠標放到該變量上,將會看到一個信息泡泡彈出,其中顯示出該變量的值。將會看到一個信息泡泡彈出,其中顯示出該變量的值。2 2、變量窗口、變量窗口(VARIABLE WINDOW)(VARIABLE WINDOW)。 在在VIEW VIEW 菜單,菜單,Debug windowDebug window選選 Variables window; Variables window; 變量窗口將變量窗口將出現在屏幕上。其中顯示著變量名及其對應的值。將會看到在變量觀出現在屏幕

21、上。其中顯示著變量名及其對應的值。將會看到在變量觀察窗口的下部有三個標簽:察窗口的下部有三個標簽:AUTO ,LOCAL,THIS AUTO ,LOCAL,THIS 選中不同的標簽,不同選中不同的標簽,不同類型的變量將會顯示在該窗口中。類型的變量將會顯示在該窗口中。 3 3、觀察窗口、觀察窗口(WATCH WINDOW)(WATCH WINDOW)。 在在VIEW VIEW 菜單,選擇菜單,選擇Debug windowDebug window,Watch window Watch window 子命令。變量子命令。變量窗口將出現在屏幕上。窗口將出現在屏幕上。 觀察窗口中雙擊觀察窗口中雙擊NameName欄的某一空行,輸入要查看的變量名或表欄的某一空行,輸入要查看的變量名或表達式。回車后將會看到對應的值。觀察窗口可有多頁,分別對應于達式。回車后將會看到對應的值。觀察窗口可有多頁,分別對應于標簽標簽Watch1,Wat

溫馨提示

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

評論

0/150

提交評論