【问题标题】:How to debug IE9 HTA?如何调试 IE9 HTA?
【发布时间】:2011-03-22 20:06:42
【问题描述】:

有没有人在安装 IE9 后将调试器附加到 mshta.exe 上? (64位或WOW64)

【问题讨论】:

    标签: debugging internet-explorer-9 hta


    【解决方案1】:

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

    【讨论】:

    • 您还需要通过工具 => Internet 选项 => 高级选项卡 => 浏览在 IE 上启用脚本调试。
    【解决方案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”会产生同样的效果。

    调试器

    • 用于在 IE/HTA 中进行 JS 调试的 MS 脚本编辑器(来自 Office XP/2003)

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

    编辑:

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

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

    我还没有找到灵丹妙药。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多