用vs2010調(diào)試asp_第1頁(yè)
用vs2010調(diào)試asp_第2頁(yè)
用vs2010調(diào)試asp_第3頁(yè)
用vs2010調(diào)試asp_第4頁(yè)
用vs2010調(diào)試asp_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、所謂的動(dòng)態(tài)調(diào)試(跟蹤)是指,讓程序一步一步的執(zhí)行,我們可以隨時(shí)隨地的關(guān)注程序 的運(yùn)行狀態(tài)。中斷的意思就是讓程序先別急著往下執(zhí)行,等我查看完了,給你指令再接著運(yùn)行。斷點(diǎn)么,就是中斷的點(diǎn)唄,就是程序運(yùn)行到此時(shí),先中斷下了,停下了讓我看看:1.要想用vs來(lái)調(diào)試,先要讓啟用服務(wù)器端調(diào)試,就是在iis中設(shè)置一下就行,iis7中設(shè)置如下圖示(iis7中不僅網(wǎng)站那要設(shè)置,在主頁(yè)那也要設(shè)置才能生效):曰縊諄調(diào)試莊性帝COM御卅用Tri ie計(jì)TrueTrue將X記童劉NT日商T"An error occurred on the server when proces.s.jng the U員IL Pl

2、eaw contort1 I! 'JL _TrueTrne曰用勻志fS淇活叢TrueVBScript前:好遲姑名稱2 在要調(diào)試的地方,插入stop語(yǔ)句:L2<«LAN';UAGE="VBSCRIPT* CODEPAGE=w6500r»><!include file=-./easp/easp. asp* >可I56810111213'加載欖板頁(yè)面Easp. Tpl. Load " t est. htjnl*Easp.Tpl *wftb_rootff , *testEasp. W Easp. Tpl. GetH

3、tal3.并點(diǎn)擊“是在ie中訪問(wèn)頁(yè)面,此時(shí)會(huì)彈出對(duì)話框,選擇vs2005或者vs2010作為調(diào)試器都行,之后,會(huì)有附加安全警告,不用理會(huì),選擇附加到此進(jìn)程即可,即點(diǎn)擊“附加”。就會(huì)出來(lái)調(diào)試界面:大家注意4個(gè)地方:最上面的調(diào)試工具欄,那有進(jìn)行跟蹤調(diào)試的命令按鈕。最左邊的黃色箭頭和這一灰色列,黃色箭頭告訴我們現(xiàn)在程序運(yùn)行到那一步了。 右邊解決方案資源管理器是 iis服務(wù)器加載的asp文件。最下面的一些提示欄還是很有幫助的,比如調(diào)用堆棧,局部變量,監(jiān)視等。現(xiàn)在結(jié)合調(diào)試實(shí)例,一一為大家進(jìn)行解釋。 首先要了解調(diào)試工具欄,為大家介紹常用的幾個(gè):1 > Ji J J十六進(jìn)制逾”1點(diǎn)擊綠色三角 則讓程序

4、繼續(xù)執(zhí)行,如果后面有斷點(diǎn)(后面介紹如何設(shè)置斷點(diǎn))或者stop則又會(huì)中斷,否則asp中服務(wù)器腳步執(zhí)行完畢,就能在頁(yè)面中看見(jiàn)結(jié)果。第三個(gè)藍(lán)色方塊 按鈕,是指結(jié)束調(diào)試,即使有斷點(diǎn)也不會(huì)中斷了。黃色箭頭是用來(lái)顯示當(dāng)前中斷的位置,可能我們查看其他頁(yè)面的代碼,忘記當(dāng)前程序運(yùn)行到哪了,點(diǎn)擊黃色箭頭就能立刻轉(zhuǎn)到程序運(yùn)行點(diǎn)(黃色箭頭所指位置表示該語(yǔ)句還未執(zhí)行)。然后接下來(lái)的三個(gè)按鈕是跟蹤方式(要理解其含義),第一個(gè)(快捷鍵f11,即從左至右第六個(gè))是指單步運(yùn)行代碼, 如果遇到函數(shù)調(diào)用(自己寫的),也單步運(yùn)行進(jìn)去。第二個(gè)(快 捷鍵f10)按鈕也是單步運(yùn)行代碼,但是遇到函數(shù)調(diào)用就不會(huì)執(zhí)行進(jìn)去(也就是說(shuō),在賦值 語(yǔ)句

5、,或者沒(méi)有函數(shù)調(diào)用的語(yǔ)句中,f10和f11的作用一樣的)。第三個(gè)(快捷鍵 shift+f11)按鈕也是快速返回,就是說(shuō)當(dāng)我們通過(guò)f11跟蹤到某個(gè)函數(shù)里時(shí),按該鍵,就會(huì)執(zhí)行完該函數(shù),并返回到調(diào)用函數(shù)的下一句。5ST Op'加載t pl核心丁18卯101112Easp.Use "tpl"'加載模板頁(yè)面Easp, Tpl.Load "test html"Easp. Tpl "weroot" t testEasp. V Easp. Tpl. GetHtml比如,服務(wù)器準(zhǔn)備執(zhí)行 Easp.Use t'pl”這條語(yǔ)句了,如

6、果我按f10 ,那么黃色箭頭將移動(dòng)到下一條語(yǔ)句:Easp.Tpl.Load "test.html"。如果按f11則會(huì)跟蹤到Easp.Use這個(gè)函數(shù)中,如下圖'加載引用EasyAsp類 Sub Use(ByVai f)"_If LCaxe =Dim p, t : o = f p = "easp"矗 Lease Co) &一 aspThen o t 二 Eval (rtLCsse(TypeName C If t = "easyasp-Obj" Then p 二 s_path 矗 11 core/"7 &

7、amp; If isFile(p) Then"=New EasyAsp""起 f)Include p Execute CSet " & oerror.Msg 二"(當(dāng)前i殳置& s_path & """是錯(cuò)誤的)"error. Raise 3Iftr JrElseEnd End If End Sub鼻斤* J工JM-對(duì)于Use我們沒(méi)什么疑問(wèn),不想在Use函數(shù)里面一步一步跟蹤了,就可以按shift+f11(點(diǎn)擊工具欄按鈕也行)就會(huì)跳出Use函數(shù),程序就會(huì)在 Easp.Tpl.Load

8、 "test.html"語(yǔ)句處中斷。還一步一步的跟蹤下 stop語(yǔ)句,點(diǎn)擊綠 (。這個(gè)時(shí)候我們就 stop語(yǔ)句。方法很簡(jiǎn) 在灰色列就會(huì)多一個(gè)紅在跟蹤的過(guò)程中,可能會(huì)遇到了循環(huán)語(yǔ)句,如果是幾百次的循環(huán),去的話,那還不累死人。當(dāng)然可以在調(diào)試之前,就在循環(huán)結(jié)束后寫一個(gè) 色三角,跳過(guò)循環(huán)。但是如果開(kāi)始沒(méi)料想到呢?不至于結(jié)束了從來(lái)吧: 可以用斷點(diǎn)功能了!設(shè)置斷點(diǎn)就好像是我們?cè)诟櫟臅r(shí)候動(dòng)態(tài)的插入 單,在想中斷的語(yǔ)句地方,點(diǎn)擊右鍵,選擇斷點(diǎn)-> 插入斷點(diǎn)。這是,色小圓點(diǎn),那就表示中斷點(diǎn)。10H|19 砥、vJ為雋切(T)Ctrl+Xp柑復(fù)制(¥)Ctrl+ 匚迖粘貼(円

9、Ctrl+V粘貼替換內(nèi)睿X刪敘D)Del在瀏覽器巾查看(B)Ctrl + Shift+W斷點(diǎn)(E)J插入斷訥插入跟蹤舸uw扶謹(jǐn)岸MgjShift+ F90畀亠亠厶 1丄二4 u 1 y I運(yùn)行到光標(biāo)處Alt+散字鍵*Ctrl+FlO設(shè)置遠(yuǎn)走內(nèi)容的稻式(F)Ctrl+K CtrkF梧式雄與碗 "Easp. Tpl "1¥總11-工001:" , rftestEasp, W Easp, Tpl- Get HthlI此時(shí)表示在 Easp.W Easp.Tpl.GetHtml設(shè)置了斷點(diǎn),當(dāng)程序運(yùn)行到此處就會(huì)停止下來(lái)。剛才大致給大家介紹了如何用stop語(yǔ)句來(lái)激活v

10、s進(jìn)行調(diào)試,然后,在調(diào)試的過(guò)程中如何設(shè)置斷點(diǎn),并進(jìn)行一步一步的跟蹤,如果跟蹤到函數(shù)中,又如何快速的從函數(shù)中跳出來(lái)。 不過(guò),我們調(diào)試的目的是從中找出bug來(lái),關(guān)鍵點(diǎn)就是要查看變量的值,那么我們來(lái)看看用在靜態(tài)調(diào)試中,要寫一堆的東東來(lái)查看,但在動(dòng)態(tài)調(diào)試中不費(fèi)吹灰之力就能獲得。最簡(jiǎn)單的就是點(diǎn)擊最下面的“局部變量”羌型ObjectIR亡亡IRequcst亠 ObjectCont&tObhjrct* 5匚ri ptingNlomiespace.Object4 USERJFACE.PATH"/uplbad/usErface/'2 千StringIServefISeEEionObje

11、ct3 #lApplicatignO bjCt3 * Server j±J * Sbeei 口 n當(dāng)前的所有變量都能看見(jiàn), 而且變量的值,變量的類型也都清清楚楚。 對(duì)應(yīng)對(duì)象變量點(diǎn) 擊加號(hào)還能展開(kāi)查看很多的信息。B / Request1.4IRequest凈【方法田 V BodyfiHR=OIRequcstDidionaiy+ * ClientCertificate計(jì)數(shù)訓(xùn)IRcquwtDictionaryS * Cooties(計(jì)數(shù)訓(xùn)IRequestDidionaiy1+1 V Ferm臟詢IRequestDidjonaiyV IttmObjectF 3 QueryStfinjiReq

12、u 郎tDittionsry“IRequstDidionaiy* Count1Long3 Item"id=123nQ *String0 KeyVariant"itfq String+ y NrvErV前自bles.dID、¥ 貝 f計(jì)數(shù)=49nIRKjuEitDictiona1 jn nn呵呵,不用寫任何語(yǔ)句就能看見(jiàn):訪問(wèn)該頁(yè)面時(shí),有一個(gè)get參數(shù),“id=123 ”查看session啊,application啊都很方便,自己定義的變量更是不用說(shuō),當(dāng)然,如果程序沒(méi)運(yùn)行到變量賦 值處,就什么也沒(méi)有哦。即使是記錄集查看起來(lái)也很方便。因?yàn)槭窃赼sp頁(yè)面中中斷,所以能查看

13、到很多全局的變量,而進(jìn)入函數(shù)中就,點(diǎn)擊“局 部變量”就真只能監(jiān)視函數(shù)中的變量了。其中,Me是指對(duì)象本身,有點(diǎn)像面向?qū)ο笳Z(yǔ)言中的this指針。即可!而且在這里面動(dòng)態(tài)的輸入計(jì)算都沒(méi)問(wèn)題!It * SessionSI requeston Object IRequestIntege ry 1+2這樣調(diào)試是不是比trace更方便一些?不用為了測(cè)試變量值去寫一堆代碼,而且在看程 序邏輯上看來(lái)n遍都覺(jué)得無(wú)錯(cuò)誤時(shí),就是不知道變量是在哪出錯(cuò)時(shí),用動(dòng)態(tài)跟蹤就很簡(jiǎn)單了。 還有更多的功能,就不介紹了,大家研究了記得貢獻(xiàn)成果哦!嘻嘻,其實(shí)完全可以用 VS來(lái)寫asp網(wǎng)站,這樣編寫和調(diào)試完全集成在一起,調(diào)試時(shí)stop 都不用寫了:),

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論