如何调试IE9 HTA?

4
有人在安装IE9后成功将调试器附加到mshta.exe上吗?(64位或WOW64)
4个回答

3

如果您有Visual Studio,请转到工具->附加到进程并附加到MSHTA.EXE进程。 然后选择脚本作为要调试的目标。


你还需要从“工具”=>“Internet 选项”=>“高级选项卡”=>“浏览”中启用 IE 的脚本调试。 - cup

2

我使用的是Vista x64,所以我必须面对32位/64位的障碍。

HTA

  • c:\windows\system32\mshta.exe (mshta32)
  • c:\windows\syswow64\mshta.exe (mshta64)

启动

  • “mshta32 foo.hta”可能会使用与HTA相关联的mshta32或mshta64
  • 如果使用“mshta64 foo.hta”,情况也是如此
  • “cmd /C start foo.hta”将产生相同的影响。

调试器

  • MS Script Editor(来自Office XP/2003)用于在IE/HTA中进行JS调试

通常,我会使用debugger关键字来启动调试器,但是在IE9中,似乎不再这样做了。我必须先启动调试器,手动附加到mshta.exe进程(仅支持32位)。然后一切似乎都正常了!

编辑:

与同事一起,不同的机器表现出不同的行为:

  • debugger关键字可以正常工作
  • 从调试器连接到MSHTA.EXE无法工作

我还没有找到万能解决方案。


1

我曾经遇到同样的问题。最终从两个来源中整理出如何使用Visual Studio进行调试的方法。

  1. 通过Internet Explorer打开脚本调试,方法在这里这里描述。
  2. 启动Visual Studio。点击Debug -> Attach to Process
  3. 运行.hta文件并从Attach to Process对话框中选择正在运行的进程。

1
尝试使用“停止”语句。这应该会引发调试器对话框。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接