Visual Studio 用于调试 HTA 应用程序的多个 vbs 文件的外部工具参数

Visual Studio External Tool Arguments for multiple vbs files to debug HTA application

我需要调试构成 HTA 应用程序的多个 VBS 文件。

我在网上搜索过,找不到确切的 QA。这个关于 and How to debug IE9 HTA? 还没有找到灵丹妙药

这是我卡住的地方,我调试 main.vbs 并且它引用了文件 [ 中的 class cutils =70=]。当我越过这条线来实例化 cutils 时,我得到一个错误:

Microsoft VBScript runtime error: Variable is undefined: 'cutil'

所以我尝试了一些 External Tool Arguments 像逗号分隔的文件:

//nologo //X  "$(ItemPath), $(ItemDir)utils.vbs"

但这不起作用。是否可以指定多个文件?

否则除了将所有 class 复制到一个文件之外,我如何调试 Visual Studio 中的 VBS 文件?我尝试将 VS 调试器附加到 mshta.exe,但它不会进入调试模式,即使使用标准 debugger 关键字也不会停止代码控制:

function clickButton()
    debugger 

所以我正在寻找一种使用 cscript.exe 调试多个 VBA 文件的方法,或者更好地附加到 mshta 进程以在附加调试器的情况下逐步执行代码。


更新 1:

根据这个答案,我尝试创建一个包含所有引用的 wsf 文件并使用 cscript.exe 进行调试:

<job id="IncludeExample">
   <script language="VBScript" src="main.vbs"/>
   <script language="VBScript" src="utils.vbs"/>
</job>

这从 main.vbs 开始,但它仍然无法在 utils.vbs 中找到 class 的角质:


更新二:

所以我将 .hta 文件扩展名重命名为 .html 这样我就可以打开 IE 的开发人员工具。由于某些原因,在 HTA 应用程序中按 F12 不允许您使用开发工具。

当我这样做时,调试很痛苦,调试器可以似乎找到utils.vbs然而,当我在main.vbs中调用激活函数时它说找不到。或者更具体地说,未定义 main。

,可能的原因是脚本在 WSF 文件中的顺序。尝试安排它们,使 utils.vbs 出现在 main.vbs 之前,因为它似乎依赖于 utils.vbs.

中的 cutil class
<job id="IncludeExample">
   <script language="VBScript" src="utils.vbs"/>
   <script language="VBScript" src="main.vbs"/>
</job>