文档章节

VBS 调试

adamduan
 adamduan
发布于 2016/11/11 10:01
字数 597
阅读 18
收藏 0

http://www.cnblogs.com/killmyday/archive/2009/09/13/1565729.html

在前面的文章” 调试JavaScript/VB Script脚本程序(IE篇)” 里面,介绍了如何在IE里面调试脚本程序。在日常的操作系统维护过程中,有时我们也会写一些小的脚本程序来简化系统管理工作,例如调用一些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里面设置断点,查看变量的值了,如下图所示:

  

本文转载自:

下一篇: VBS操作Excel
adamduan
粉丝 10
博文 84
码字总数 8447
作品 0
大连
程序员
私信 提问
Windows获取CPU、内存和磁盘使用率脚本

获取CPU使用率脚本(vbs),另存为cpu.vbs: On Error Resume NextSet objProc = GetObject("winmgmts:\.rootcimv2:win32_processor='cpu0'")Wscript.Echo "CPU 使用率: " & objProc.LoadPer......

初级泥水工
2017/03/08
0
0
使用vbs识别验证码方案

本文给出了一种验证码识别方案,前提是我们要有生成验证码的二进制码。 1、获取验证码图片 我们要识别的图片文件: 将以上图片保存到本地,并命名为:1.jpg 2、vbs源码 识别该图片的vbs源码如...

孟飞阳
2016/07/09
130
0
Cacti 每日导出图形及流量报表 [未完成]

Cacti每日流量及图形导出以前做过一个VBS脚本,大概300多行,使用的是浏览器模拟打开Cacti网站用VBS模拟鼠标键盘操作进行自动导出及保存的。但是效率非常低,而且会因为浏览器升级及其他原因...

babyfenei
2015/01/09
0
0
check_mk自定义监控插件监控IIS站点的性能计数器

场景:Web站点部分是IIS下的站点,IIS不像apache,nginx提供了status模块,可以直接通过web或nagios监控到站点的当前连接数等情况。 监控服务器是CentOS 6.3+Cacti+Nagios+check_mk 。以下简称...

天山三害
2014/01/01
0
0
囧!原来…原来每天陪伴你的电脑也是有性别的……

让电脑说一声:I IOVE YOU,看看它是你的哥们还是你的娘们! 步骤1: 点“开始”,在“所有程序”里找到“附件”,点“记事本”新建一个记事本文件 步骤二: 在里面输入 CreateObject("SAPI...

柠檬
2010/11/17
1K
28

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部