調試JavaScript/VB Script指令碼程式(ASP篇)

來源:互聯網
上載者:User

在文章調試JavaScript/VB Script指令碼程式(Wscript篇)裡面,有網友問我如何調試ASP裡面的指令碼程式,我不知道他問得是調試ASP網頁裡面的VBScript ASP代碼,還是ASP.NET網頁裡面的JavaScript/VBScript用戶端代碼,所以我就在這篇文章裡面先將調試ASP網頁裡面的ASP代碼這種情況都解釋一下吧。

估計ASP這個玩藝用的人已經很少了,但是還是有很多老網站是用ASP技術製作的,維護的時候,還是需要調試修改一下ASP網頁代碼的。雖然ASP網頁的代碼大部分都是VBScript或者JavaScript編寫的,而很多在瀏覽器上啟動並執行DHTML代碼也是用JavaScript/VBScript寫成,這很容易誤導程式員,認為兩者都是在瀏覽器上啟動並執行,其實不然。

ASP網頁代碼是在伺服器端啟動並執行,具體來說是由IIS裡面執行,為什麼IIS可以同時執行ASP網頁和ASP.NET網頁代碼,如果我告訴你IIS還可以執行JSP代碼,你信不信?當然啦,IIS如何可以執行ASP,ASP.NET和JSP等代碼又可以開一系列的文章來講解啦。

而DHTML代碼是在瀏覽器端(IE或者Firefox)執行的,兩種代碼不同的執行方式也決定了不同的調試策略。

綜上所述,兩種是不同是事物,但是兩者是相輔相成,不可分割的……

為了調試ASP網頁代碼,你需要調試IIS背景工作處理序(不是IISAdmin那個進程),在IIS 6.0中,IIS背景工作處理序名叫做w3wp.exe(World Wide Web Process),在IIS 6.0之前好像是dllhost.exe。因為IIS 5.0用的人已經不多了—主要是我已經不用了,所以本文是以IIS 6.0作為平台講解的。

因為開啟調試支援會影響到網站的效能—即響應速度,所以預設情況下,IIS將ASP的調試功能關閉了:

1.       開啟IIS管理介面(IIS Manager或者iisadmin.exe)。

2.       按右鍵你要調試的網站,例如“預設網站(Default Web Site)”。

3.       點擊“家目錄(Home Directory)”,點擊“配置(Configuration)”。

4.       選擇“調試(Debugging)”頁簽。

5.       將“調試標誌(Debugging Flags)”的兩個勾都選上,如所示:

6.       啟動Visual Studio,點擊“工具(Tools)”—“附加到進程…(Attach to process …)”。

7.       在“選擇進程(Available Process)”對話方塊裡面,選擇w3wp.exe(注意,選擇“類型(Type)”列為“指令碼,x86(Scripting, x86)那一個”)。

 

如果你在對話方塊裡面沒有看到w3wp.exe,請先訪問一下網站—因為網站可能重啟了,然後點擊“附加到進程…(Attach to process …)” 對話方塊上面的[重新整理] 按鈕。

 

如果還是沒有看到w3wp.exe,勾選“顯示所有使用者的進程(Show processes for all users)”和“顯示所有會話的進程(Show processes in all sessions)”兩個複選框,再點重新整理試試。

 

如果還是沒有看到,那麼……

a)      要麼回到第一步重新做一次。

b)      要麼問候一下Visual Studio祖宗,回去睡覺,徹底忘掉這篇文章。

現在的效果應該和類似:

8.       很遺憾,現在的Visual Studio 只支援設定函數斷點了,至少我在2008裡面是不能直接在程式碼上設定斷點了。

9.       點擊Visual Studio的“調試(Debug)”—“視窗(Windows)”—“斷點(Breakpoints)”菜單。

10.   然後點擊“函數斷點(Break at Function …)”,如所示:

11.   在接下來的視窗中輸入—TestFunction,如所示:

12.   回到IE裡面,重新整理一下頁面,這個時候,你應該可以做ASP調試了,如所示:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.