Как отладить IE9 HTA? - PullRequest
       11

Как отладить IE9 HTA?

4 голосов
/ 22 марта 2011

Кто-нибудь получил отладчик, прикрепленный к mshta.exe после установки IE9? (64 бита или WOW64)

Ответы [ 4 ]

2 голосов
/ 22 марта 2013

Если у вас есть Visual Studio, перейдите к Tools -> Attach to Process и присоединитесь к процессу MSHTA.EXE. Затем выберите Script в качестве цели для отладки.

2 голосов
/ 22 марта 2011

Я нахожусь на 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 Script Editor (из Office XP / 2003) для отладки JS в IE / HTA

Обычно я бы использовал ключевое слово debugger, чтобы инициировать запуск отладчика, однако в IE9, похоже, он этого больше не делает. Сначала я должен запустить отладчик, подключиться к процессу mshta.exe вручную (поддерживает только 32-битную версию). Тогда кажется, что все работает нормально!

EDIT:

С коллегами разные машины демонстрировали разное поведение:

  • debugger ключевое слово отлично работает
  • Подключение к MSHTA.EXE из отладчика не работает

Я еще не нашел серебряную пулю.

0 голосов
/ 15 октября 2013

У меня была такая же проблема. Наконец, собрал воедино, как отлаживать с помощью Visual Studio из двух источников

  1. Включите отладку скриптов через Internet Explorer, как описано здесь и здесь
  2. Запустите Visual Studio. Нажмите на Отладка -> Присоединить к процессу
  3. Запустите файл .hta и выберите запущенный процесс в диалоговом окне «Присоединить к процессу»
0 голосов
/ 20 ноября 2012

Попробуйте использовать оператор «Стоп».Это должно вызвать диалог отладчика

...