Debugging 如何调试IE9 HTA?

Debugging 如何调试IE9 HTA?,debugging,internet-explorer-9,hta,Debugging,Internet Explorer 9,Hta,有人在安装IE9后将调试器连接到mshta.exe吗?(64位或WOW64)我使用的是Vista x64,因此我必须应对32位/64位的障碍 HTA c:\windows\system32\mshta.exe (mshta32) c:\windows\syswow64\mshta.exe (mshta64) 发射 “mshta32 foo.hta”可以使用mshta32或mshta64,具体取决于与hta相关的内容 如果使用“mshta64 foo.hta”,情况也是如此 “cmd/C s

有人在安装IE9后将调试器连接到mshta.exe吗?(64位或WOW64)

我使用的是Vista x64,因此我必须应对32位/64位的障碍

HTA

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

  • “mshta32 foo.hta”可以使用mshta32或mshta64,具体取决于与hta相关的内容
  • 如果使用“mshta64 foo.hta”,情况也是如此
  • “cmd/C start foo.hta”也会有同样的效果
调试器

  • MS脚本编辑器(来自Office XP/2003),用于IE/HTA中的JS调试
通常我会使用
debugger
关键字启动调试器,但是在IE9中,它似乎不再这样做了。我必须首先启动调试器,手动附加到mshta.exe进程(仅支持32位)。然后一切看起来都很好

编辑:

对于同事,不同的机器表现出不同的行为:

  • 调试器
    关键字工作正常
  • 从调试器连接到
    MSHTA.EXE
    不起作用

我还没有找到灵丹妙药。

尝试使用“停止”语句。这将引发调试器对话框

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

我也遇到了同样的问题。最后从两个源代码拼凑出如何使用VisualStudio进行调试

  • 通过Internet Explorer启用脚本调试,如所述和
  • 启动VisualStudio。单击调试->附加到进程
  • 运行.hta文件并从“附加到进程”对话框中选择正在运行的进程

  • 您还需要从Tools=>internetoptions=>Advanced选项卡=>Browsing启用IE上的脚本调试。