在日常的操作系统维护过程中,有时我们也会写一些小的脚本程序来简化系统管理工作,例如调用一些WMI函数来自动安装卸载程序之类的。

在实际工作中,我发现程序员对脚本抱怨最多的就是脚本程序很难调试这个缺点,特别是调试.vbs等WSH程序的时候,总是:

1.       在资源管理器里面双击一个.vbs文件。

2.       程序里面发生了一个错误,例如异常,或者编程逻辑错误。

3.       一行行阅读源文件,然后在估计发生错误的地方,添加很多的Msgbox.Show,打印一些变量的值。

4.       重新执行.vbs文件

5.       “当当当”,一系列的 “确定”点完了以后,人也晕了,重新回到第三步继续……

其实我们也是可以用Visual Studio调试这类WSH程序的,关键就在.vbs等WSH脚本程序的解释器wscript.exe和cscript.exe提供了调试支持:

1.       当我们在资源管理器里面双击一个.vbs文件时,资源管理器实际上是运行wscript.exe来解释和执行这个.vbs文件的。

2.       Wscript.exe和cscript.exe都支持这两个选项 /D – 启用调试功能,/X – 在调试器里面执行脚本程序。

这样,我们可以使用两种方法在Visual Studio里面调试脚本程序,这里我只介绍第二种方法 -- 第一种方法不知道为什么我的Win 7 + Visual Studio 2008不能工作,:(。

例如下面的.vbs代码,将它保存到c:"test.vbs,我们要调试这个程序,源文件如下:

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:盘,执行下面这个命令:

Wscript.exe /X test.vbs

2.       这个时候,应该会弹出一个Visual Studio对话框,提示你选择合适的调试器,直接点击上面的确定按钮就好了。

3.       最后,你就可以跟调试C#或者C++程序一样,在  Visual Studio里面设置断点,查看变量的值了,如下图所示:

调试JavaScript/VB Script脚本程序(Wscript篇)相关推荐

  1. 调试JavaScript/VB Script脚本程序(ASP篇)

    在文章调试JavaScript/VB Script脚本程序(Wscript篇)里面,有网友问我如何调试ASP里面的脚本程序,我不知道他问得是调试ASP网页里面的VBScript ASP代码,还是ASP ...

  2. 调试JavaScript/VB Script脚本程序(IE篇)

    JavaScript/VB Script脚本程序一般有两种执行方式,一种是嵌入在宿主程序里面执行,比如在IE浏览器里面执行:另外一种,在资源管理器里面双击执行(虽然还是通过另外一个程序解释执行,但是给 ...

  3. JavaScript/VBScript脚本程序调试(Wscript篇)

    在实际工作中,我发现程序员对脚本抱怨最多的就是脚本程序很难调试这个缺点,特别是调试.vbs等WSH程序的时候,总是: 1. 在资源管理器里面双击一个.vbs文件. 2. 程序里面发生了一个错误,例如异 ...

  4. 怎样在javascript函数中将变量传递给服务端脚本程序?

    怎样在javascript函数中将变量传递给服务端脚本程序? (有朋友问上述问题, 愿把结论分享给大家). 摘 要:   服务器端脚本运行时, 它只会解释执行<% %>或<?php ...

  5. vb script html,VB script 入门

    这里简单介绍下vb script 脚本的基本语法: 后面可以参考这个例子: Sub 创建任务脚本_Click() Dim Line As String Dim ColumnStr As String ...

  6. 利用Visual Studio调试JavaScript脚本

    大家如果用过JavaScript一定对它的调试感到很头痛吧,浏览器所返回给你的错误信息基本没有任何意义.一个很小的错误可能导致调试大半天,费时费力. 先说些废话= =b...昨天公布了研究生寝室分配结 ...

  7. linux如何调试脚本程序,调试Linux shell脚本的方法

    在linux中调试shell脚本,常用的有三个方法.这里介绍下,希望对大家有所帮助. 方法一,使用echo命令. 在调试shell脚本时,可以用echo打印任何变量值,以判断错误原因. 方法二,she ...

  8. C#发现之旅第十四讲 基于动态编译的VB.NET脚本引擎

    本章说明 在前面章节中,笔者使用了反射和动态编译技术实现了快速ORM框架,在本章中笔者将继续使用这些技术来实现一个VB.NET的脚本引擎,使得人们在开发中能实现类似MS Office那样实现VBA宏的 ...

  9. 火狐调试javascript

    在csdn上看到一篇帖子. 很有用.  在火狐中困扰我大半天的js问题.找到这个. 半小时就搞定了.. .下面是原帖内容. 什么是Firebug 从事了数年的Web开发工作,越来越觉得现在对WEB开发 ...

最新文章

  1. 1990: 分解质因数
  2. 高仿网易新闻频道选择器
  3. mysql恢复root密码
  4. 小D学blend-----优美简洁的mp3播放器
  5. 单进程服务器-epoll版
  6. OpenCV中的三种图像数据结构CvMat, IplImage和Mat(二)IplImage
  7. node 创建静态服务器并自动打开浏览器
  8. 配置 Oracle 11gR2 在 CentOS6 上开机自启动
  9. android:layout_margintop=3dip,南昌航空大学android期末复习资料之 编程题.pdf
  10. 帆软日期参数联动方法
  11. Web测试-Web界面易用性测试
  12. Linux域名IP映射
  13. [转]我奋斗了18年不是为了和你一起喝咖啡
  14. 第3章第11节:如何将众多图片制作成照片墙并作为幻灯片的背景 [PowerPoint精美幻灯片实战教程]
  15. 介绍身份证号姓名实名认证 身份证号姓名校验 身份证号验人API
  16. VC编程调用dxdiag生成XML文件,来获取系统配置情况
  17. EUI库 - 自动布局
  18. win10没有hosts文件解决方法
  19. Android朋友圈怎么换行,2020年发朋友圈打字怎么换行
  20. 新墨斯智能鞋让你成为健康达人

热门文章

  1. 哈佛的学生都在看这种视频,每天15分钟,英语水平暴增!
  2. Google全球IP地址库
  3. 讲一个api网页全部保存到本地_WebRTC在网页端音视频通话的技术实践
  4. python开发者大会_《中国Python开发者大会PyConChina2017》直播课-什么值得买
  5. 为什么下水井盖是圆的
  6. 10位管理学大师及其核心重要思想
  7. 生活随记-下周很重要
  8. 带孔缝箱体屏蔽效能仿真分析
  9. 香槟分校计算机研究生专业,伊利诺伊大学香槟分校研究生计算机系统专业排名...
  10. 平板电脑与计算机连接网络,平板电脑连接网络的方法