如何在VS2005 中調試JavaScript 腳本
JavaScript是一種弱類型的編程語言,與C#等語言不同,在JavaScript中,變量的類型是在運行時解析的,而且可以在運行時變換變量的類型。這為它帶來了前所未有的靈活性,可以實現很多絢麗的功能,但是對于IDE來說卻很頭疼,由于只能在運行時獲得關于變量類型的信息,因此實現智能提示,調試等功能非常困難。不過令人興奮的是,微軟已經在VS2005中已經集成了JavaScript的調試功能,并且在VS2008中集成了智能提示功能。
問題1:無法啟用調試
在VWD2005中啟動調試時如果彈出一個如下內容為“無法附加。綁定句柄無效。”對話框, 那么很可能是由于你禁用了Terminal Service服務。啟用Terminal Service服務即可。

問題2:如何在VS2005中調試JavaScript
JavaScript是一種弱類型語言,目前的各種IDE對它的調試支持都比較弱,但是在VS2005中我們可以輕松的對它進行調試,而且在Express版本中也集成了此項功能(可惜的是在Visual Web Developer 2008 Express中,沒有包含腳本調試功能。)。但是在使用它之前我們需要對瀏覽器進行設置。
1. 在IE 6中,選擇工具>Internet選項,在彈出的Internet選項對話框中選擇高級選項卡,將禁用腳本調試(Internet Explorer)和禁用腳本調試(其它)兩個選項的勾都去掉,即確保沒有選中它們。然后重新啟動IE。

2. 在你希望的地方設置斷點,按F5鍵直接啟動調試。當程序運行到斷點處時,自動停在斷點處。

注意此種方法只能調試外部的腳本文件,對于內置在頁面文件的腳本,可以在想中斷的腳本處添加debugger;語句即可,如下圖所示。

問題3:如果安裝了微軟的Microsoft Script Debugger,會改變VS2005的默認設置,導致內置的JavaScript調試功能失效。
解決方法:選擇Tools>Options,在彈出的Options對話框中,將Debugging>Just-In-Time下的Script選項選中即可。(默認情況下,沒有Debugging條目。勾選對話框坐下角的Show all settings即可。)

后記:
在我使用VS2005內置的腳本調試功能一段時間之后,突然發現它失效了,癥狀是Script Explorer總是為空,沒有任何腳本文件。經過一段時間的摸索之后(使用VS2005的導入和導出設置功能將設置復位,修復VS2005,就剩下重裝VS2005沒有試過了…),最終只好利用Debug>Attach to process…功能。方法如下:
首先在IE中打開你要調試的網頁,例如:http://localhost:2847/WebSamples/Default.aspx,
然后在VS2005中選擇Debug>Attach to process…,打開Attach to process對話框,選擇IEXPLORE.EXE進程,單擊Attach。然后在腳本文件中設置合適的斷點,在IE中進行操作以觸發對應的函數,會自動跳轉到VS2005的斷點處。
補記:在asp.net中一步一步調試JavaScript,在這篇文章里我使用了IIS和Visual Studio 2005。
配置:
第一步:在Visual Studio 2005中打開一個已經存在的asp.net應用程序,其中要有一些JavaScript。
第二步:當我們在微軟的Visual Studio中創建了一個Web項目,那么一個名為Web.config的文件默認也被創建在了該Web項目中。
我們檢查一下它的設置:把debug的屬性該為true。
第三步:打開Internet 信息服務(IIS)管理器。
開始->管理工具->Internet 信息服務(IIS)管理器->網站->默認網站->右鍵單擊你想調試的Web項目->屬性->虛擬目錄選項卡->配 置->在新打開的windows窗口中選擇調試選項卡->把“啟用 ASP 服務器端腳本調試”和“啟用 ASP 客戶端腳本調試”兩個復選框選中。
第四步:打開IE,單擊菜單欄的“工具”->Internet 選項->高級選項卡->取消“禁用腳本調試(Internet Explorer)”和“禁用腳本調試(其他)”兩個復選框的選中狀態。
第五步:現在,在Visual Studio IDE打開你的Web項目。
注意:JavaScript一定要放到一個單獨的.js文件里,而不能直接在.aspx頁里寫JavaScript。然后像對待.cs或.vb文件一樣,在.js文件里給某行添加斷點即可。
第六步:運行你的Web項目,程序將會在運行到你設置的斷點處停止。
| 作者: XuGang 網名:鋼鋼 |
| 出處: http://xugang.cnblogs.com |
| 聲明: 本文版權歸作者和博客園共有。轉載時必須保留此段聲明,且在文章頁面明顯位置給出原文連接地址! |
浙公網安備 33010602011771號