调试JavaScript/VB Script脚本程序(Wscript篇)
在日常的操作系统维护过程中,有时我们也会写一些小的脚本程序来简化系统管理工作,例如调用一些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里面设置断点,查看变量的值了,如下图所示:
相关文档:
本文来自qingye2008所发的此帖的讨论,感谢陈辉、马云剑、qingye的耐心指点和分享。
1、引言
话说qingye同学得到了一个用于加解密的Dll(该动态库在这里下载),通过Dll Export Viewer看到dll有2个导出函数分别是Dll_EncIn和Dll_EncOut,qingye同学想在VB中使用这两个函数。因为搞不到接口说明,只好通过查看汇编代码来猜 ......
很多时候,我们不想一开始就显示滚动条,当文本到达指定行数文本框无法完全显示的时候再显示它,由于Scrollbar属性是只读的,无法在运行时的代码中改变这个属性,只能使用下面的API实现这个功能:
Public Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long
......
谁能帮我把这段代码转成Vb的代码,不胜感激,谢谢!
void CTempDlg::OnOK()
{
UpdateData(1);
int nlen=m_edit1.GetLength();
char *username=m_edit1.GetBuffer(nlen);//定义一个新字符串username,长度为nlen,并将m_edit1中的字符串一个个放入到username数组中
char strA[]="90123456 ......
要想在VB6.0中使用OpenGL绘图,必须先下载一个SDK,名字叫vbogl.tlb。我用的版本是2.1,这个月要出3.0版本的了。
下载该文件后,直接在VB6.0“工程”-“引用”里面引用
1、在form中加入一个PictureBox控件
2、要在Windows里面使用OpenGL,必须先进行像素格式设置,函数代码如下
Dim hRC ......