Как заставить JavaScript работать со встроенным отладчиком IE (F12), а не с отладчиком Visual Studio?

Я часто использую это для отладки JavaScript в IE (fiddle):

if (confirm("Debug from here?"))
    debugger;

Если я выберу «да», я увижу запрос на запуск отладчика «точно в срок» Visual Studio, с помощью которого я приступаю к отладке скрипта в Visual Studio.

Теперь я хочу использовать встроенный отладчик IE вместо Visual Studio. Я использую этот обходной путь:

if (confirm("Debug from here?"))
    throw "debug";

Это работает, но я должен проверять «Продолжить после исключения» во встроенном отладчике IE каждый раз, когда нажимаю throw. Кроме того, throw отличается от debugger (который просто продолжает выполнение, если отладка отключена в параметрах IE).

Есть ли способ сделать отладчик для взлома встроенного отладчика IE (F12), а не отладчика Visual Studio?

Установка точек останова в инструментах IE F12, затем обновление страницы с помощью F5 не вариант, потому что страница является постбэком.

ОТРЕДАКТИРОВАНО. Браузер Chrome фактически дает мне желаемое поведение. Чтобы понять, что я имею в виду, откройте Chrome, нажмите F12, чтобы открыть инструменты разработки, а затем перейдите к http://jsfiddle.net/jTwsh< /а>. Нажмите [OK] на confirm, и вы должны попасть в отладчик прямо на строке debugger.




Ответы (2)


Предложите отключить отладчик Just-In-Time для скрипта; если вы не хотите использовать его для.

См. приведенную ниже ссылку о том, как включить/отключить отладчик JIT:

Включить/отключить своевременную отладку< /а>

Я использую IE8, там мне нужно запустить отладку сценария, нажав кнопку «Начать отладку» или F5 на вкладке «Сценарий» в инструментах разработчика.

Смотрите прикрепленный скриншот:

Снимок экрана инструментов разработчика

person Ahsan Shah    schedule 20.10.2013
comment
Если я отключу его (или если у меня вообще не будет установлена ​​Visual Studio), то использование debugger в JavaScript просто ничего не сделает и будет проигнорировано. Тем не менее, я хочу, чтобы он делал то, для чего он нужен: взломал отладчик IE F12. Я пропустил что-то тривиальное? - person avo; 21.10.2013
comment
да, вам нужно открыть инструменты разработчика, нажав F12, и начать сеанс отладки. - person Ahsan Shah; 21.10.2013
comment
На самом деле это работает и для IE10. Ключевым моментом является нажатие кнопки [Запустить отладчик] на панели инструментов F12 перед переходом на страницу. Спасибо! - person avo; 21.10.2013

Не запускайте сайт в режиме отладки. Веб-сайт можно запустить в «обычном» режиме:

Щелкните правой кнопкой мыши на любой странице => Просмотр в браузере

или Ctrl+F5

person Justin Lessard    schedule 18.10.2013
comment
Я не понимаю, как это отвечает на вопрос. Не могли бы вы уточнить? Я хочу установить точку останова, это то, что делает ключевое слово debugger. Я хочу, чтобы мой сценарий работал нормально, пока не достигнет этой точки останова, а затем я хочу иметь любую возможность отладки. - person avo; 18.10.2013
comment
Если вы нажмете точку останова, не находясь в режиме отладки в Visual Studio, следует использовать отладчик IE. - person Justin Lessard; 18.10.2013
comment
Нет, вы попали в отладчик Visual Studio с помощью debugger. Попробуйте эту скрипту на ПК с установленной Visual Studio. Убедитесь, что параметр Отключить отладку сценариев (Internet Explorer) не установлен в дополнительных параметрах IE. Вы должны увидеть приглашение Visual Studio JIT Debugger, если вы нажмете [OK]. - person avo; 18.10.2013