如何调试IE9 HTA?

时间:2011-03-22 20:06:42

标签: debugging internet-explorer-9 hta

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

4 个答案:

答案 0 :(得分:2)

我使用的是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位)。然后一切似乎都运行良好!

修改

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

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

我还没有发现银弹。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我遇到了同样的问题。最后拼凑了如何从两个源使用Visual Studio进行调试

  1. 按照herehere
  2. 所述,通过Internet Explorer启用脚本调试
  3. 启动Visual Studio。单击Debug - >附加到流程
  4. 运行.hta文件并从“附加到进程”对话框中选择正在运行的进程