如何调试独立的VBScript脚本?

Dhe*_*eer 33 debugging vbscript

我有一个VBScript脚本,需要2个命令行参数并进行一些验证.我需要调试它以查看程序是如何执行的.我试图将其粘贴到Excel中(使用VBA).但是,有一些类似的结构Const不受支持,加上某些验证(如获取命令行参数)失败.

因此,我想知道是否有任何方法来调试此脚本.我安装了Windows XP和Office 2003.我无法在办公室计算机上安装任何其他应用程序.

Bin*_*ier 42

我认为运行cscript.exe以获取完整的命令args

cscript //X scriptfile.vbs MyArg1 MyArg2
Run Code Online (Sandbox Code Playgroud)

将在调试器中运行该脚本.

  • 您需要管理员权限才能运行调试程序. (7认同)
  • 我只是想补充一点,如果您使用Cscript // X <filename>方法并且没有调试器出现(即使安装了Microsoft Script Debugger),您可能必须添加一个选择调试器的注册表项.[来源](http://support.microsoft.com/kb/308364)将以下代码保存在reg文件中,并指向调试器的路径.它不必是完整路径`Windows注册表编辑器版本5.00 [HKEY_CLASSES_ROOT\CLSID\{834128A2-51F4-11D0-8F20-00805F2CD064}\LocalServer32] @ ="C:\\ Program Files(x86)\\ Microsoft脚本调试器\\ msscrdbg.exe"` (3认同)
  • @wil 按原样,调试器只会在出现错误时停止脚本。如果在命令行上传递 `//D` 选项,脚本会在第一行中断,而不会等待未处理的错误。 (2认同)

Dav*_*Caz 6

对于后代,请参阅Microsoft关于该主题的文章 KB308364。这不再存在于他们的网站上,它来自档案馆

如何调试 Windows Script Host、VBScript 和 JScript 文件

概括

本文的目的是解释如何调试 Windows Script Host (WSH) 脚本,该脚本可以用任何 ActiveX 脚本语言编写(只要安装了正确的语言引擎),但默认情况下是用 VBScript 编写的和 JScript。注册表中有某些标志,并且根据所使用的调试器,还有启用调试所需的某些过程。

更多信息

要在 Microsoft Visual InterDev、Microsoft 脚本调试器或任何其他调试器中调试 WSH 脚本,请使用以下命令行语法来启动脚本:

wscript.exe //d <path to WSH file>
Run Code Online (Sandbox Code Playgroud)

当发生运行时错误时,此代码会通知用户,并为用户提供调试应用程序的选择。另外,可以使用 //x 标志,如下所示,立即抛出异常,这会在脚本开始运行后立即启动调试器:

wscript.exe //d //x <path to WSH file>
Run Code Online (Sandbox Code Playgroud)

存在调试条件后,以下注册表项确定将使用哪个调试器:

HKEY_CLASSES_ROOT\CLSID\{834128A2-51F4-11D0-8F20-00805F2CD064}\LocalServer32
Run Code Online (Sandbox Code Playgroud)

脚本调试器应为 Msscrdbg.exe,Visual InterDev 调试器应为Mdm.exe.

如果 Visual InterDev 是默认调试器,请确保启用即时 (JIT) 功能。为此,请按照下列步骤操作:

  1. 启动 Visual InterDev。

  2. 在“工具”菜单上,单击“选项”。

  3. 单击“调试器”,然后确保为“常规”和“脚本”类别选择“即时”选项。

此外,如果您尝试调试 .wsf 文件,请确保以下注册表项设置为 1:

HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug
Run Code Online (Sandbox Code Playgroud)

特性

文章 ID:308364- 上次审核:2014 年 6 月 19 日 - 修订版:3.0

关键词:kbdswmanage2003swept kbinfo KB308364


小智 5

这是给未来读者的。我发现对我来说最简单的方法是使用 Visual Studio -> 工具 -> 外部工具。更多详细信息请参阅此答案

更易于使用和良好的调试工具。