JavaScript/VBScript腳本程序調(diào)試(Wscript篇)
更新時(shí)間:2009年09月13日 21:14:39 作者:
在日常的操作系統(tǒng)維護(hù)過(guò)程中,有時(shí)我們也會(huì)寫一些小的腳本程序來(lái)簡(jiǎn)化系統(tǒng)管理工作,例如調(diào)用一些WMI函數(shù)來(lái)自動(dòng)安裝卸載程序之類的。
在實(shí)際工作中,我發(fā)現(xiàn)程序員對(duì)腳本抱怨最多的就是腳本程序很難調(diào)試這個(gè)缺點(diǎn),特別是調(diào)試.vbs等WSH程序的時(shí)候,總是:
1. 在資源管理器里面雙擊一個(gè).vbs文件。
2. 程序里面發(fā)生了一個(gè)錯(cuò)誤,例如異常,或者編程邏輯錯(cuò)誤。
3. 一行行閱讀源文件,然后在估計(jì)發(fā)生錯(cuò)誤的地方,添加很多的Msgbox.Show,打印一些變量的值。
4. 重新執(zhí)行.vbs文件
5. “當(dāng)當(dāng)當(dāng)”,一系列的 “確定”點(diǎn)完了以后,人也暈了,重新回到第三步繼續(xù)……
其實(shí)我們也是可以用Visual Studio調(diào)試這類WSH程序的,關(guān)鍵就在.vbs等WSH腳本程序的解釋器wscript.exe和cscript.exe提供了調(diào)試支持:
1. 當(dāng)我們?cè)谫Y源管理器里面雙擊一個(gè).vbs文件時(shí),資源管理器實(shí)際上是運(yùn)行wscript.exe來(lái)解釋和執(zhí)行這個(gè).vbs文件的。
2. Wscript.exe和cscript.exe都支持這兩個(gè)選項(xiàng) /D – 啟用調(diào)試功能,/X – 在調(diào)試器里面執(zhí)行腳本程序。
這樣,我們可以使用兩種方法在Visual Studio里面調(diào)試腳本程序,這里我只介紹第二種方法 -- 第一種方法不知道為什么我的Win 7 + Visual Studio 2008不能工作,:(。
例如下面的.vbs代碼,將它保存到c:"test.vbs,我們要調(diào)試這個(gè)程序,源文件如下:
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í)行下面這個(gè)命令:
Wscript.exe /X test.vbs
2. 這個(gè)時(shí)候,應(yīng)該會(huì)彈出一個(gè)Visual Studio對(duì)話框,提示你選擇合適的調(diào)試器,直接點(diǎn)擊上面的確定按鈕就好了。
3. 最后,你就可以跟調(diào)試C#或者C++程序一樣,在 Visual Studio里面設(shè)置斷點(diǎn),查看變量的值了,如下圖所示:
1. 在資源管理器里面雙擊一個(gè).vbs文件。
2. 程序里面發(fā)生了一個(gè)錯(cuò)誤,例如異常,或者編程邏輯錯(cuò)誤。
3. 一行行閱讀源文件,然后在估計(jì)發(fā)生錯(cuò)誤的地方,添加很多的Msgbox.Show,打印一些變量的值。
4. 重新執(zhí)行.vbs文件
5. “當(dāng)當(dāng)當(dāng)”,一系列的 “確定”點(diǎn)完了以后,人也暈了,重新回到第三步繼續(xù)……
其實(shí)我們也是可以用Visual Studio調(diào)試這類WSH程序的,關(guān)鍵就在.vbs等WSH腳本程序的解釋器wscript.exe和cscript.exe提供了調(diào)試支持:
1. 當(dāng)我們?cè)谫Y源管理器里面雙擊一個(gè).vbs文件時(shí),資源管理器實(shí)際上是運(yùn)行wscript.exe來(lái)解釋和執(zhí)行這個(gè).vbs文件的。
2. Wscript.exe和cscript.exe都支持這兩個(gè)選項(xiàng) /D – 啟用調(diào)試功能,/X – 在調(diào)試器里面執(zhí)行腳本程序。
這樣,我們可以使用兩種方法在Visual Studio里面調(diào)試腳本程序,這里我只介紹第二種方法 -- 第一種方法不知道為什么我的Win 7 + Visual Studio 2008不能工作,:(。
例如下面的.vbs代碼,將它保存到c:"test.vbs,我們要調(diào)試這個(gè)程序,源文件如下:
復(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í)行下面這個(gè)命令:
Wscript.exe /X test.vbs
2. 這個(gè)時(shí)候,應(yīng)該會(huì)彈出一個(gè)Visual Studio對(duì)話框,提示你選擇合適的調(diào)試器,直接點(diǎn)擊上面的確定按鈕就好了。
3. 最后,你就可以跟調(diào)試C#或者C++程序一樣,在 Visual Studio里面設(shè)置斷點(diǎn),查看變量的值了,如下圖所示:

您可能感興趣的文章:
- ASP、vbscript編碼模板
- ASP中一個(gè)用VBScript寫的隨機(jī)數(shù)類
- 利用vbscript腳本修改文件內(nèi)容,此適用于自動(dòng)化的操作中
- asp,VBscript語(yǔ)法錯(cuò)誤,史上最全最詳細(xì)最精確
- vbscript腳本編程教程2利用fso來(lái)進(jìn)行文件操作
- 使用vbscript腳本在表單中進(jìn)行選擇的代碼
- 用vbscript腳本實(shí)現(xiàn)返回 IP 配置數(shù)據(jù)的代碼
- ASP里面令人震撼地Debug類(VBScript)
- 調(diào)試JavaScript/VBScript腳本程序(IE篇)
- 枚舉域內(nèi)計(jì)算機(jī)個(gè)數(shù)vbscript腳本(沒環(huán)境,沒測(cè)試)
- ASP/VBScript中CHR(0)的由來(lái)以及帶來(lái)的安全問(wèn)題分析
- ASP(VBScript)中整除和取余
- ASP基礎(chǔ)知識(shí)VBScript基本元素講解
- ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過(guò)程和條件語(yǔ)句)
相關(guān)文章
分享VSCOCE遠(yuǎn)程連接服務(wù)器的一次錯(cuò)誤記錄(推薦)
這篇文章主要介紹了VSCOCE遠(yuǎn)程連接服務(wù)器的一次錯(cuò)誤記錄,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Git基礎(chǔ)學(xué)習(xí)之分支操作的示例詳解
這篇文章主要為大家詳細(xì)介紹了Git基礎(chǔ)學(xué)習(xí)中分支的基本操作,文中的示例代碼講解詳細(xì),對(duì)我們了解Git有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-10-10解決HTTP服務(wù)響應(yīng)數(shù)據(jù)不完整響應(yīng)數(shù)據(jù)截?cái)嗟膯?wèn)題
這篇文章主要介紹了HTTP服務(wù)響應(yīng)數(shù)據(jù)不完整響應(yīng)數(shù)據(jù)截?cái)嗟膯?wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03風(fēng)中葉老師講述的學(xué)習(xí)方法(學(xué)習(xí)編程的朋友需要看)
風(fēng)中葉老師講述的學(xué)習(xí)方法(學(xué)習(xí)編程的朋友需要看),希望大家能按照說(shuō)明的那樣,自己多動(dòng)手動(dòng)腦2008-10-10