版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
創(chuàng)建應(yīng)用程序框架JSP程序設(shè)計(jì)教程》課件制作人:宋坤第1頁,課件共46頁,創(chuàng)作于2023年2月【學(xué)習(xí)導(dǎo)航】
課件制作人:宋坤第2頁,課件共46頁,創(chuàng)作于2023年2月√本章目錄4.1應(yīng)用程序向?qū)?.2應(yīng)用程序向?qū)傻奈募?.3ClassWizard類向?qū)?/p>
4.4程序調(diào)試4.5課后習(xí)題√√√√課件制作人:宋坤第3頁,課件共46頁,創(chuàng)作于2023年2月4.1應(yīng)用程序向?qū)isualC++中的向?qū)ь愋褪褂脩?yīng)用程序向?qū)А獭陶n件制作人:宋坤第4頁,課件共46頁,創(chuàng)作于2023年2月VisualC++中的向?qū)ь愋汀癋ile”/“New”菜單命令課件制作人:宋坤第5頁,課件共46頁,創(chuàng)作于2023年2月VisualC++中的向?qū)ь愋蚔isualC++集成開發(fā)環(huán)境中向?qū)ь愋图吧傻某绦蛘f明如下:l
ATLCOMAppWizard:創(chuàng)建包含ActiveX控件的ATL(ActiveTemplateLibrary)。l
ClusterResourceTypeWizard:創(chuàng)建能夠在微軟群服務(wù)器上模擬和管理的項(xiàng)目。l
CustomAppWizard:以用戶定制的模板向?qū)?chuàng)建項(xiàng)目。l
DatebaseProject:創(chuàng)建數(shù)據(jù)庫項(xiàng)目。l
DevStudioAdd-inWizard:創(chuàng)建C++或匯編語言編寫的類似于DeveloperStudio形式的外接程序。l
ExtendedStoredProcWizard:在SQLServer上創(chuàng)建一個(gè)擴(kuò)展存儲的程序。l
ISAPIExtensionWizard:利用ISAPI(InternetServerAPI)創(chuàng)建網(wǎng)頁瀏覽程序。l
Makefile:制作Makefile文件,訂制自己項(xiàng)目的集成開發(fā)環(huán)境。l
MFCAcitveXControlWizard:創(chuàng)建基于MFC的ActiveX控件。l
MFCAppWizard[dll]:創(chuàng)建基于MFC的動態(tài)連接庫。l
MFCAppWizard[exe]:創(chuàng)建基于MFC的應(yīng)用程序,這是最常使用的一個(gè)向?qū)?。l
NewDatabaseWizard:在SQLServer上創(chuàng)建一個(gè)SQLServer數(shù)據(jù)庫。l
UtilityProject:創(chuàng)建自定義編譯規(guī)則的項(xiàng)目,該項(xiàng)目可以作為一些子項(xiàng)目的主項(xiàng)目,它不產(chǎn)生LIB、DLL或EXE文件。l
Win32Application:創(chuàng)建Win32應(yīng)用程序,可不使用MFC,采用SDK方式編程或C語言編程。l
Win32Dynamic-LinkLibrary:創(chuàng)建Win32動態(tài)連接庫,采用SDK方法。l
Win32StaticLibrary:創(chuàng)建Win32靜態(tài)連接庫,采用SDK方法。、其中,最常使用的是MFCAppWizard[exe],這也是本章講述的重點(diǎn)。
課件制作人:宋坤第6頁,課件共46頁,創(chuàng)作于2023年2月使用應(yīng)用程序向?qū)indows下可視化應(yīng)用程序框架:(1)菜單欄“File”/“New”--New窗口--Projects選項(xiàng)卡--MFCAppWizard[exe]項(xiàng)課件制作人:宋坤第7頁,課件共46頁,創(chuàng)作于2023年2月使用應(yīng)用程序向?qū)?/p>
(2)單擊OK按鈕,彈出MFCAppWizard-Step1窗口lSingledocument:一次只能打開一個(gè)文檔編輯窗口。lMultipledocument:在應(yīng)用程序中可同時(shí)打開多個(gè)文檔。lDialogbased:在對話框基礎(chǔ)上建立的程序。課件制作人:宋坤第8頁,課件共46頁,創(chuàng)作于2023年2月使用應(yīng)用程序向?qū)?3)這里選擇Dialogbased單選項(xiàng),單擊Next按鈕,打開MFCAppWizard—Step2of4窗口課件制作人:宋坤第9頁,課件共46頁,創(chuàng)作于2023年2月使用應(yīng)用程序向?qū)?5)單擊Next按鈕,打開MFCAppWizard—Step3of4窗口。
課件制作人:宋坤第10頁,課件共46頁,創(chuàng)作于2023年2月使用應(yīng)用程序向?qū)?6)單擊Next按鈕,打開MFCAppWizard—Step4of4窗口課件制作人:宋坤第11頁,課件共46頁,創(chuàng)作于2023年2月使用應(yīng)用程序向?qū)?7)在MFCAppWizard—Step4of4窗口中確定類的名稱及所在文件的名稱,單擊Finish按鈕,打開NewProjectInformation窗口。
課件制作人:宋坤第12頁,課件共46頁,創(chuàng)作于2023年2月4.2應(yīng)用程序向?qū)傻奈募募愋偷湫臀募e例√√課件制作人:宋坤第13頁,課件共46頁,創(chuàng)作于2023年2月文件類型擴(kuò)展名描述opt工程中關(guān)于開發(fā)環(huán)境的參數(shù)選項(xiàng)文件clw類向?qū)募畔?,是按INI文件格式存儲的dsp工程文件dsw工作區(qū)文件,將項(xiàng)目的詳細(xì)情況組合到Workspace工作區(qū)中aps資源輔助文件,二進(jìn)制格式plg編譯信息文件,存儲錯誤或警告信息hpj幫助文件bsc代碼瀏覽文件,如果使用源代碼瀏覽器,必須生成該文件map可執(zhí)行文件的映像信息記錄文件pch預(yù)編譯文件,可以加快編譯速度pdb記錄了程序有關(guān)的一些數(shù)據(jù)和調(diào)試信息,在調(diào)試的時(shí)候有用exp只有在編譯DLL時(shí)才會生成,記錄DLL文件中的一些信息ncb無編譯瀏覽文件,當(dāng)自動完成功能出問題時(shí)可以刪除此文件h頭文件cpp源文件rc資源文件rc2資源文件,用來將資源包含在項(xiàng)目中res編譯后的二進(jìn)制資源文件
一般而言,VisualC++中一個(gè)類由頭文件和源文件兩類文件支持。頭文件用于定義類,包含指明派生關(guān)系,聲明成員變量及成員函數(shù)。源文件用于實(shí)現(xiàn)類,主要定義成員函數(shù)的實(shí)現(xiàn)代碼和消息映射。
課件制作人:宋坤第14頁,課件共46頁,創(chuàng)作于2023年2月典型文件舉例利用MFCAppWizard[exe]向?qū)梢粋€(gè)應(yīng)用程序,根據(jù)應(yīng)用程序種類的不同,生成的文件也有所差異,下面將分類列舉。1.應(yīng)用文件(1)應(yīng)用程序類文件每個(gè)MFC應(yīng)用程序都需要有一個(gè)應(yīng)用程序類文件,它一般與項(xiàng)目文件同名,例如:在默認(rèn)情況下,MyProject項(xiàng)目應(yīng)用程序類頭文件為MyProject.h;源文件的文件名為“MyProject.cpp”,它們主要聲明及實(shí)現(xiàn)應(yīng)用程序類CMyProjectApp。CMyProjectApp類主要負(fù)責(zé)完成應(yīng)用程序的初始化、程序的啟動和程序運(yùn)行結(jié)束時(shí)的清理工作。(2)資源文件在項(xiàng)目中,資源通過資源標(biāo)識符加以區(qū)分,通常情況下,應(yīng)用程序向?qū)岩粋€(gè)項(xiàng)目中所有資源的標(biāo)識符放到Resource.h中。對資源ID的命名有一定規(guī)則,如表4-2所示。標(biāo)識符前綴說
明IDR_主菜單資源、工具欄資源和快捷鍵資源IDD_對話框資源IDC_控件和光標(biāo)IDS_字符串IDP_提示信息對話框的字符串ID_菜單命令項(xiàng)課件制作人:宋坤第15頁,課件共46頁,創(chuàng)作于2023年2月典型文件舉例(3)標(biāo)準(zhǔn)包含文件應(yīng)用程序向?qū)槊恳粋€(gè)項(xiàng)目生成一個(gè)標(biāo)準(zhǔn)包含頭文件StdAfx.h,該文件用于包含一般情況下要用到且不會被修改的頭文件,如MFC聲明文件afxwin.h、使用工具欄、狀態(tài)欄文件afxext.h等。StdAfx.h和StdAfx.cpp文件用來生成預(yù)編譯文件。2.單文檔應(yīng)用程序/多文檔應(yīng)用程序單文檔應(yīng)用程序和多文檔應(yīng)用程序框架都是由3個(gè)類組成的,它們是框架窗口類、文檔類和視圖類。(1)框架窗口類文件在默認(rèn)情況下,框架窗口的頭文件均為MainFrm.h;源文件均為MainFrm.cpp,這兩個(gè)文件定義和實(shí)現(xiàn)了框架窗口類CMainFrame,這個(gè)類是MFC的CFrameWnd類的派生類,它主要負(fù)責(zé)創(chuàng)建標(biāo)題欄、工具欄和狀態(tài)欄。(2)文檔類文件在默認(rèn)情況下,文檔類頭文件都是項(xiàng)目名稱+“Doc.h”組成;源文件都是項(xiàng)目名稱+“Doc.cpp”組成。例如:MyProject項(xiàng)目中文檔類頭文件為MyProjectDoc.h;源文件為MyProjectDoc.cpp。它們是定義和實(shí)現(xiàn)文檔類CMyProjectDoc的。CMyProjectDoc類是MFC中CDocument類的派生類,它主要負(fù)責(zé)應(yīng)用程序數(shù)據(jù)的保存和裝載,實(shí)現(xiàn)文檔的序列化功能。(3)視圖類文件在默認(rèn)情況下,視圖類頭文件都是項(xiàng)目名稱+“View.h”組成;源文件都是項(xiàng)目名稱+“View.cpp”組成。例如:MyProject項(xiàng)目中視圖類頭文件為MyProjectView.h;源文件為MyProjectView.cpp。它們是定義和實(shí)現(xiàn)視圖類CMyProjectView的。CMyProjectView類是MFC中CView類的派生類,它主要負(fù)責(zé)客戶區(qū)文檔數(shù)據(jù)的顯示及如何進(jìn)行人機(jī)交互。
課件制作人:宋坤第16頁,課件共46頁,創(chuàng)作于2023年2月典型文件舉例
3.基于對話框應(yīng)用程序在默認(rèn)情況下,對話框類頭文件都是項(xiàng)目名稱+“Dlg.h”組成;源文件都是項(xiàng)目名稱+“Dlg.cpp”組成。例如:MyProject項(xiàng)目中對話框類頭文件為MyProjectDlg.h;源文件為MyProjectDlg·cpp。它們是定義和實(shí)現(xiàn)對話框類CMyProjectDlg的。CMyProjectDlg類是MFC中CDialog類的派生類。它可以完成一個(gè)對話框的創(chuàng)建、顯示等工作。
課件制作人:宋坤第17頁,課件共46頁,創(chuàng)作于2023年2月4.3ClassWizard類向?qū)lassWizard的功能ClassWizard的簡單應(yīng)用為項(xiàng)目添加新類手工添加消息處理函數(shù)√√√√課件制作人:宋坤第18頁,課件共46頁,創(chuàng)作于2023年2月ClassWizard的功能ClassWizard(類向?qū)В┲饕脕矶ㄖ片F(xiàn)有的類和建立新的類,如把消息映射到類的成員函數(shù),把一個(gè)控件與類的成員變量對應(yīng)起來。只有在打開或創(chuàng)建一個(gè)項(xiàng)目后,View主菜單才會出現(xiàn)ClassWizard菜單項(xiàng),這時(shí)才能使用ClassWizard(類向?qū)В?。一般通過<Ctrl+W>快捷鍵激活ClassWizard?!癕FCClassWizard”對話框共有5個(gè)頁面:MessageMaps頁面用來處理消息映射,為消息添加或刪除處理函數(shù),查看已被處理的消息并定位消息處理代碼;MemberVariables頁面用來給對話框類添加或刪除成員變量,這些變量必須是和某些控件資源相關(guān)聯(lián)的控件類型;Automation頁面提供了對OLE自動化類的屬性和方法的管理;ActiveXEvents頁面用于管理ActiveX類所支持的ActiveX事件;ClassInfo頁面顯示應(yīng)用程序中所包含類的信息,如一個(gè)類的頭文件、實(shí)現(xiàn)文件和基類信息。圖4-8為“MFCClassWizard”對話框。課件制作人:宋坤第19頁,課件共46頁,創(chuàng)作于2023年2月ClassWizard的簡單應(yīng)用在編程時(shí),經(jīng)常使用的就是“MFCClassWizard”對話框中的MessageMaps頁面和MemberVariables頁面。下面圍繞著它們簡單介紹一下。1.怎樣為類添加一個(gè)消息響應(yīng)函數(shù)(1)首先,建立一個(gè)基于對話框的應(yīng)用程序。(2)單擊“View”/“ClassWizard”菜單命令打開“MFCClassWizard”對話框。(3)確定當(dāng)前“為MessageMaps”頁面,在“ObjectIds”列表中選擇需要添加消息響應(yīng)函數(shù)的對象;在“Messages”列表中選擇需要添加的消息,例如:本教材需要為對話框添加WM_INITDIALOG消息響應(yīng)函數(shù)。就在“ObjectIDs”列表中選擇“CMyProjectDlg”,在“Messages”列表中找到“WM_INITDIALOG”并雙擊該列表項(xiàng),此時(shí),在“Memberfunctions”列表中會出現(xiàn)“OnInitDialog”,如圖4-9所示。
課件制作人:宋坤第20頁,課件共46頁,創(chuàng)作于2023年2月ClassWizard的簡單應(yīng)用
2.如何將一個(gè)控件與一個(gè)類的成員變量對應(yīng)起來(1)首先,建立一個(gè)基于對話框的應(yīng)用程序。(2)單擊“View”/“ClassWizard”菜單命令打開“MFCClassWizard”對話框。(3)確定當(dāng)前“為MemberVariables”頁面,在“ControlIds”列表中找到需要對應(yīng)成員變量的控件ID,例如:本教材需要為“確定”按鈕添加一個(gè)對應(yīng)的變量m_ButOK,需要在ControlIds”列表中雙擊“確定”按鈕的資源ID“IDOK”,在彈出的“AddMemberVariable”對話框中找到“MemberVariableName”文本框,在此文本框中輸入“m_ButOK”,單擊OK按鈕完成添加操作。在函數(shù)名前有“W”標(biāo)志的表示消息響應(yīng)函數(shù);有“V”標(biāo)志的表示虛函數(shù)。課件制作人:宋坤第21頁,課件共46頁,創(chuàng)作于2023年2月為項(xiàng)目添加新類
為項(xiàng)目添加新類的方法如下:(1)首先,建立一個(gè)基于對話框的應(yīng)用程序。(2)單擊“View”/“ClassWizard”菜單命令打開“MFCClassWizard”對話框。(3)單擊右上角“AddClass”按鈕,在彈出的菜單中選擇“New”菜單項(xiàng),彈出“NewClass”對話框,如圖4-10所示。
課件制作人:宋坤第22頁,課件共46頁,創(chuàng)作于2023年2月為項(xiàng)目添加新類
(4)在“Name”文本框中添入“CNewClassName”,在“Baseclass”文本框中選擇需要創(chuàng)建的類的基類,單擊“OK”按鈕,將類CNewClassName添加到項(xiàng)目中,在Workspace工作區(qū)中就可以對這個(gè)類進(jìn)行編輯了,如圖4-11所示。
課件制作人:宋坤第23頁,課件共46頁,創(chuàng)作于2023年2月手工添加消息處理函數(shù)
消息處理函數(shù)是VC++最常用到的函數(shù)之一,實(shí)際上,消息處理函數(shù)是通過在消息地圖中聲明來實(shí)現(xiàn)的。請看下邊的例子。手工為對話框類MyProject添加消息DIY_NEWMESSAGE(自定義消息)的消息響應(yīng)函數(shù)OnNewMessage。(1)首先,建立一個(gè)基于對話框的應(yīng)用程序MyProject。(2)單擊“View”/“ResourceSymbols”,彈出“ResourceSymbols”對話框。(3)在“ResourceSymbols”對話框中單擊“New”按鈕,為類添加一個(gè)新標(biāo)識“DIY_NEWMESSAGE”,如圖4-12所示。
(4)關(guān)閉“ResourceSymbols”對話框,在Workspace中找到類CMyProjectDlg,雙擊CMyProjectDlg節(jié)點(diǎn)下的任意一個(gè)成員函數(shù)標(biāo)識,代碼編輯器中顯示MyProjectDlg.cpp文件內(nèi)容。(5)在代碼編輯器中找到下段代碼:BEGIN_MESSAGE_MAP(CMyProjectDlg,CDialog)END_MESSAGE_MAP()這是消息地圖的聲明。讀者需要在這個(gè)消息地圖中添加消息響應(yīng)說明。BEGIN_MESSAGE_MAP(CMyProjectDlg,CDialog)ON_MESSAGE(DIY_NEWMESSAGE,OnNewMessage)END_MESSAGE_MAP()這句代碼告訴編譯器,當(dāng)有DIY_NEWMESSAGE消息發(fā)生時(shí),執(zhí)行OnNewMessage成員函數(shù)。
課件制作人:宋坤第24頁,課件共46頁,創(chuàng)作于2023年2月手工添加消息處理函數(shù)
(6)在Workspace中選中類CMyProjectDlg的標(biāo)識,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“AddMemberFunction”項(xiàng),打開“AddMemberFunction”對話框。(7)在“AddMemberFunction”對話框中的“FunctionType”文本框中添入函數(shù)的返回值;在“FunctionDeclaration”文本框中添入“OnNewMessage”,單擊“OK”按鈕,將此函數(shù)添加到項(xiàng)目中,如圖4-13所示。
(8)這樣,一個(gè)消息響應(yīng)函數(shù)就做成了,當(dāng)系統(tǒng)捕捉到“DIY_NEWMESSAGE”消息時(shí),會自動執(zhí)行OnNewMessage成員函數(shù)。
課件制作人:宋坤第25頁,課件共46頁,創(chuàng)作于2023年2月4.4程序調(diào)試斷點(diǎn)跟蹤調(diào)試窗口√√課件制作人:宋坤第26頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤F9鍵:設(shè)置斷點(diǎn)。<Ctrl+B>:打開斷點(diǎn)窗口。1.設(shè)置條件斷點(diǎn)在設(shè)計(jì)斷點(diǎn)時(shí),可能需要設(shè)置一個(gè)條件斷點(diǎn)。所謂條件斷點(diǎn),是在變量或表達(dá)式符合斷點(diǎn)條件時(shí)才產(chǎn)生中斷,進(jìn)入調(diào)試階段。如圖4-14所示。課件制作人:宋坤第27頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(1)編寫一段代碼,如下:intsum=0;for(inti=0;i<10;i++){sum+=i;}(2)按Ctrl+B組合鍵打開斷點(diǎn)窗口,在“sum+=i”行處設(shè)置一個(gè)段點(diǎn),如圖4-15所示。課件制作人:宋坤第28頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(3)單擊“Conditon”按鈕,打開斷點(diǎn)條件窗口,在該窗口中設(shè)置斷點(diǎn)條件,如圖4-16所示。
(4)運(yùn)行程序,執(zhí)行代碼,當(dāng)變量i等于2時(shí)將產(chǎn)生中斷,如圖4-17所示。
課件制作人:宋坤第29頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤
2.設(shè)置數(shù)據(jù)斷點(diǎn)數(shù)據(jù)斷點(diǎn)只能在Breakpoints對話框中設(shè)置。選擇“Data”選項(xiàng)卡,就顯示了設(shè)置數(shù)據(jù)斷點(diǎn)的對話框。在編輯框中輸入一個(gè)表達(dá)式,當(dāng)這個(gè)表達(dá)式的值發(fā)生變化時(shí),數(shù)據(jù)斷點(diǎn)就到達(dá)。一般情況下,這個(gè)表達(dá)式應(yīng)該由運(yùn)算符和全局變量構(gòu)成。(1)定義一個(gè)全局變量,并編寫一段代碼,如下:voidCDebugDlg::OnOK(){intsum=0;for(i=0;i<10;i++)//i為一個(gè)整型全局變量{sum+=i;}}(2)按Ctrl+B組合鍵打開斷點(diǎn)窗口,選擇“Data”選項(xiàng)卡,在編輯框中輸入全局變量i,如圖4-18所示。課件制作人:宋坤第30頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(3)單擊OK按鈕保存設(shè)置。運(yùn)行程序,當(dāng)程序試圖改變變量i的值時(shí)將產(chǎn)生中斷,進(jìn)入調(diào)試階段,如圖4-19所示。(4)單擊“確定”按鈕,程序?qū)⑼A粼凇案淖僫值”的代碼處,如圖4-20所示。
課件制作人:宋坤第31頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤3.設(shè)置消息斷點(diǎn)VisualC++也支持對Windows消息進(jìn)行截獲,有兩種方式進(jìn)行截獲:窗口消息處理函數(shù)和特定消息中斷。在“Breakpoints”對話框中選擇“Messages”選項(xiàng)卡,就可以設(shè)置消息斷點(diǎn)。如果采用窗口消息處理方式,那么每次消息被這個(gè)函數(shù)處理,斷點(diǎn)就到達(dá);如果采用特定消息中斷方式,則每次指定的消息到達(dá),程序就中斷。(1)按<Ctrl+B>組合鍵打開斷點(diǎn)窗口,選擇“Messages”選項(xiàng)卡,如圖4-21所示。
(2)在上方的組合框中輸入窗口過程“AfxWndProc”,在下方的組合框中輸入產(chǎn)生中斷的消息,例如“WM-LBVTTONOOWN”,如圖4-22所示。課件制作人:宋坤第32頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(3)運(yùn)行程序,當(dāng)用戶單擊鼠標(biāo)左鍵時(shí)將產(chǎn)生中斷,如圖4-23所示。
課件制作人:宋坤第33頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(4)單擊“確定”按鈕,程序?qū)⑼A粼贏fxWndProc處,如圖4-24所示。4.?dāng)帱c(diǎn)跟蹤前面本教材介紹了設(shè)置斷點(diǎn)的方法,下面介紹如何利用斷點(diǎn)跟蹤程序。(1)編寫一段代碼,并在代碼處設(shè)置一個(gè)斷點(diǎn),如圖4-25所示。課件制作人:宋坤第34頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(2)運(yùn)行程序,執(zhí)行斷點(diǎn)所在的函數(shù),程序?qū)⑼A粼跀帱c(diǎn)處,如圖4-26所示。
課件制作人:宋坤第35頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(3)按<F10>鍵執(zhí)行當(dāng)前行代碼,指針將移動到下一行代碼,同時(shí)sum的值被設(shè)置為0,用戶可以通過鼠標(biāo)或調(diào)試窗口查看變量的值,如圖4-27所示。
課件制作人:宋坤第36頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(4)按<F10>鍵連續(xù)執(zhí)行代碼,直到當(dāng)前指針停留在“total=Add(10,2)”語句處,如圖4-28所示。課件制作人:宋坤第37頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤(5)當(dāng)前代碼涉及一個(gè)函數(shù)調(diào)用(Add函數(shù)),如果用戶按<F10>鍵,當(dāng)前指針不會進(jìn)入Add函數(shù)而繼續(xù)向下執(zhí)行;如果用戶按<F11>鍵,當(dāng)前指針會進(jìn)入Add函數(shù),在Add函數(shù)執(zhí)行后重新返回被調(diào)用的函數(shù)處。按<F11>鍵進(jìn)入Add函數(shù),如圖4-29所示。課件制作人:宋坤第38頁,課件共46頁,創(chuàng)作于2023年2月斷點(diǎn)跟蹤課件制作人:宋坤第39頁,課件共46頁,創(chuàng)作于2023年2月調(diào)試窗口
1.Watch調(diào)試窗口Watch窗口主要用來查看變量或?qū)ο蟮男畔ⅰS脩艨梢酝ㄟ^單擊“View”/“DebugWindows”/“Watch”菜單項(xiàng)或者按<Alt+3>組合鍵打開Watch窗口,為了查看某個(gè)變量或?qū)ο蟮闹?,在程序處于中斷時(shí),用戶可以利用鼠標(biāo)將其拖動到Watch窗口中,這樣,在Watch窗口中將顯示變量或?qū)ο蟮脑敿?xì)信息,如圖4-30所示。
2.CallStack窗口CallStack窗口能夠查看當(dāng)前函數(shù)的調(diào)用信息。例如函數(shù)的參數(shù)信息,調(diào)用當(dāng)前函數(shù)的參數(shù)等。CallStack窗口如圖4-31所示。
課件制作人:宋坤第40頁,課件共46頁,創(chuàng)作于2023年2月調(diào)試窗口
從圖4-31中可以看出當(dāng)前函數(shù)為Add,參數(shù)值分別為10、20,在InitInstance方法中調(diào)用了Add方法。當(dāng)用戶在CallStack窗口中雙擊InitInstance方法時(shí),代碼編輯器將進(jìn)入到InitInstance方法,并顯示在該方法何處調(diào)用了Add方法,如圖4-32所示。
3.Memory窗口Memory窗口用于顯示某個(gè)地址開始處的內(nèi)存信息,默認(rèn)地址為0x00000000。用戶可以通過單擊“View”/“DebugWindows”/“Memory”菜單項(xiàng)或者按<Alt+6>組合鍵打開Memory窗口,如圖4-33所示。課件制作人:宋坤第41頁,課件共46頁,創(chuàng)作于2023年2月調(diào)試窗口
在調(diào)試程序時(shí),使用Memory窗口查看某個(gè)對象或變量的地址信息及值信息。例如,將某個(gè)變量拖動到Memory窗口的列表中
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科貿(mào)職業(yè)學(xué)院《工作坊交流》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東警官學(xué)院《急診與急救》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東江門中醫(yī)藥職業(yè)學(xué)院《計(jì)算機(jī)網(wǎng)絡(luò)安全B》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東技術(shù)師范大學(xué)《藏漢古代文化對比研究專業(yè)選修》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東工商職業(yè)技術(shù)大學(xué)《短距離無線通信技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 燜渣罐事故培訓(xùn)課件
- 《海航籌資之路與資》課件
- 廣安職業(yè)技術(shù)學(xué)院《數(shù)字邏輯設(shè)計(jì)及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 保健老師培訓(xùn)課件
- 贛西科技職業(yè)學(xué)院《英語中級聽力》2023-2024學(xué)年第一學(xué)期期末試卷
- MOOC 普通植物病理學(xué)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課答案
- 種雞場的飼養(yǎng)管理制度
- 一年級數(shù)學(xué)上冊口算比賽
- 2019年4月自考00319行政組織理論試題及答案含解析
- 石油工程設(shè)計(jì)大賽油藏工程組獲獎作品
- (高清版)DZT 0282-2015 水文地質(zhì)調(diào)查規(guī)范(1:50000)
- 施工現(xiàn)場消防培訓(xùn)課件
- 2023北京西城五年級(上)期末英語試卷含答案
- 人臉識別考勤系統(tǒng)方案
- 四川省宜賓市2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測數(shù)學(xué)試卷(解析版)
- 鎳鈷礦的質(zhì)量管理體系
評論
0/150
提交評論