JavaScript/VBScript腳本程序調(diào)試(Wscript篇)
更新時(shí)間:2009年09月13日 21:14:39 作者:
在日常的操作系統(tǒng)維護(hù)過(guò)程中,有時(shí)我們也會(huì)寫(xiě)一些小的腳本程序來(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. 打開(kāi)命令行,更換目錄到C:盤(pán),執(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. 打開(kāi)命令行,更換目錄到C:盤(pán),執(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寫(xiě)的隨機(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腳本(沒(méi)環(huán)境,沒(méi)測(cè)試)
- ASP/VBScript中CHR(0)的由來(lái)以及帶來(lái)的安全問(wèn)題分析
- ASP(VBScript)中整除和取余
- ASP基礎(chǔ)知識(shí)VBScript基本元素講解
- ASP基礎(chǔ)入門(mén)第四篇(腳本變量、函數(shù)、過(guò)程和條件語(yǔ)句)
相關(guān)文章
Git中smart Checkout與force checkout的區(qū)別及說(shuō)明
這篇文章主要介紹了Git中smart Checkout與force checkout的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
VSCODE內(nèi)使用Jupyter模式運(yùn)行backtrader不展示圖片、圖片尺寸無(wú)法自定義的解決方案
VSCODE中使用Jupyter模式運(yùn)行backtrader時(shí),圖片無(wú)法展示或調(diào)整尺寸,通過(guò)修改matplotlib的全局設(shè)置,并將配置文件傳遞給cerebro.plot,可以解決圖片展示和尺寸調(diào)整的問(wèn)題,感興趣的朋友一起看看吧2025-02-02
詳解如何將本地項(xiàng)目上傳到Github的方法步驟(圖文)
這篇文章主要介紹了詳解如何將本地項(xiàng)目上傳到Github的方法步驟(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
git 多賬戶配置完整實(shí)現(xiàn)過(guò)程詳解
這篇文章主要為大家介紹了git 多賬戶配置完整實(shí)現(xiàn)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Hash算法示例應(yīng)用場(chǎng)景解延伸探究
這篇文章主要為大家介紹了Hash算法示例應(yīng)用場(chǎng)景解延伸探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

