在實際工作中,我發(fā)現(xiàn)程序員對腳本抱怨最多的就是腳本程序很難調(diào)試這個缺點,特別是調(diào)試.vbs等WSH程序的時候,總是:
1. 在資源管理器里面雙擊一個.vbs文件。
2. 程序里面發(fā)生了一個錯誤,例如異常,或者編程邏輯錯誤。
3. 一行行閱讀源文件,然后在估計發(fā)生錯誤的地方,添加很多的Msgbox.Show,打印一些變量的值。
4. 重新執(zhí)行.vbs文件
5. “當(dāng)當(dāng)當(dāng)”,一系列的 “確定”點完了以后,人也暈了,重新回到第三步繼續(xù)……
其實我們也是可以用Visual Studio調(diào)試這類WSH程序的,關(guān)鍵就在.vbs等WSH腳本程序的解釋器wscript.exe和cscript.exe提供了調(diào)試支持:
1. 當(dāng)我們在資源管理器里面雙擊一個.vbs文件時,資源管理器實際上是運行wscript.exe來解釋和執(zhí)行這個.vbs文件的。
2. Wscript.exe和cscript.exe都支持這兩個選項 /D – 啟用調(diào)試功能,/X – 在調(diào)試器里面執(zhí)行腳本程序。
這樣,我們可以使用兩種方法在Visual Studio里面調(diào)試腳本程序,這里我只介紹第二種方法 -- 第一種方法不知道為什么我的Win 7 + Visual Studio 2008不能工作,:(。
例如下面的.vbs代碼,將它保存到c:"test.vbs,我們要調(diào)試這個程序,源文件如下:
復(fù)制代碼 代碼如下:
Set obj = CreateObject("System.Collections.ArrayList")
obj.Add("this is a test")
obj.Add(1)
obj.Add(obj)
Msgbox obj(0)
Msgbox obj(1)
Msgbox obj(2).ToString()
1. 打開命令行,更換目錄到C:盤,執(zhí)行下面這個命令:
Wscript.exe /X test.vbs
2. 這個時候,應(yīng)該會彈出一個Visual Studio對話框,提示你選擇合適的調(diào)試器,直接點擊上面的確定按鈕就好了。
3. 最后,你就可以跟調(diào)試C#或者C++程序一樣,在 Visual Studio里面設(shè)置斷點,查看變量的值了,如下圖所示: