Кто-нибудь прикреплял отладчик к mshta.exe после установки IE9? (64-битная или WOW64)
Как отлаживать IE9 HTA?
Ответы (4)
Если у вас есть Visual Studio, перейдите к Tools -> Attach to Process
и присоединитесь к процессу MSHTA.EXE
. Затем выберите Script
в качестве цели для отладки.
У меня Vista x64, поэтому мне приходится бороться с 32-битным/64-битным барьером.
ОМТ
- 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) для отладки JS в IE/HTA
Обычно я бы использовал ключевое слово debugger
, чтобы инициировать запуск отладчика, однако с IE9, похоже, он больше этого не делает. Я должен сначала запустить отладчик, подключиться к процессу mshta.exe вручную (поддерживает только 32-битные). Тогда все работает нормально!
ИЗМЕНИТЬ:
С коллегами разные машины вели себя по-разному:
- Ключевое слово
debugger
работает нормально - Подключение к
MSHTA.EXE
из отладчика не работает
Я еще не нашел серебряную пулю.
Попробуйте использовать оператор «Стоп». Это должно вызвать диалог отладчика
У меня такая же проблема. Наконец-то собрано вместе, как отлаживать с помощью Visual Studio из двух источников.
- Включите отладку сценариев через Internet Explorer, как описано здесь и здесь
- Запустите Visual Studio. Нажмите «Отладка» -> «Присоединить к процессу».
- Запустите файл .hta и выберите запущенный процесс в диалоговом окне «Присоединение к процессу».