如何调试IE9 HTA?

发布于 2024-10-24 17:00:23 字数 52 浏览 1 评论 0原文

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

Has anyone gotten a debugger attached to mshta.exe after installing IE9? (64bit or WOW64)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

九局 2024-10-31 17:00:23

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

If you have Visual Studio, go to Tools -> Attach to Process and attach to the MSHTA.EXE process. Then pick Script as the target to debug.

笑着哭最痛 2024-10-31 17:00:23

我使用的是 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不起作用

< b>我还没有找到灵丹妙药。

I'm on a Vista x64, so I have to contend with the 32bit/64bit barrier.

HTA

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

Launching

  • "mshta32 foo.hta" may use mshta32 or mshta64 depending on what is associated with HTA
  • the same goes if "mshta64 foo.hta" is used
  • "cmd /C start foo.hta" would have the same affect.

Debugger

  • MS Script Editor (from Office XP/2003) for JS debugging in IE/HTA

Normally I would use the debugger keyword to initiate the launching of the debugger, however with IE9, it doesn't seem to do that anymore. I must launch the debugger first, attach to the mshta.exe process manually (only supports 32bit). Then everything appears to work fine!

EDIT:

With coworkers, different machine have exhibited different behaviors:

  • debugger keyword works fine
  • Connecting to MSHTA.EXE from the debugger doesn't work

I haven't yet found a silver bullet.

失与倦" 2024-10-31 17:00:23

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

Try using 'Stop' statement. This should raise the debugger dialog

永不分离 2024-10-31 17:00:23

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

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

I had the same problem. Finally pieced together how to debug using Visual Studio from two sources

  1. Turn on script debugging through Internet Explorer, as described here and here
  2. Start up Visual Studio. Click on Debug -> Attach to Process
  3. Run the .hta file and select the running process from the Attach to Process dialog
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文