Есть ли способ заставить Internet Explorer сработать при предупреждении () - PullRequest
1 голос
/ 01 июля 2011

Я пытаюсь отладить сообщение об ошибке в большом и сложном веб-приложении ASP.Net на основе фреймов с использованием IE8 и Visual Studio 2010. В частности, я получаю окно с сообщением «Элемент не найден», которое выглядит какпрямое предупреждение JavaScript ().К сожалению, я не знаю, где в коде происходит проблема, и fiddler2 не сильно помог в этом случае.

Мой вопрос, используя опцию IE, инструмент или какой-то другой подход, может лиЯ получаю IE, чтобы сломаться при вызове alert (), чтобы я мог его отладить?

Ответы [ 6 ]

5 голосов
/ 01 июля 2011

Поиск строки для «Элемент не найден»

Добавьте 1 / 0; перед строкой.

Включите разрыв при всех ошибках.

(Полагаю, вы знали, что инструмент разработчика существует. Нажмите F12 и перейдите на вкладку скрипта)

Редактировать:

Спасибо @ DmitriyNaumov

var aalert = window.alert;
window.alert = function() {
  aalert.apply(this, arguments);
  1 / 0;
}
1 голос
/ 01 июля 2011

Используя IE 8, вы можете использовать Инструменты разработчика, которые немного похожи на Firebug для Mozilla Firefox.

http://www.microsoft.com/download/en/details.aspx?id=18359

(для получения дополнительной информации)

таким образом выможет создавать точки останова и отлаживать выполнение скрипта на странице шаг за шагом

Просто нажмите F12

1 голос
/ 01 июля 2011

Вы можете использовать отладчик IE, нажмите F12 , а затем на вкладке скрипта вы можете добавить точки останова

1 голос
/ 01 июля 2011

Вы можете попробовать использовать IE Developer Toolbar от Microsoft.Я не знаю, позволяет ли это вам устанавливать точки останова JS, но в любом случае это отличный инструмент!

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

Если это window.alert, вы можете сделать это:

  1. Включить внешние отладчики в IE.
  2. Присоединить Visual Studio в качестве отладчика сценариев.
  3. Воспроизведите проблему.
  4. Когда отображается окно с предупреждением, остановите отладчик.
  5. Когда вы отключите предупреждение, отладчик будет приостановлен на следующей строке кода.
  6. Используйте текущий стек вызовов, чтобы установить точку останова, где когда-либо прежде вызов будет наиболее полезным в следующий раз.

К сожалению, этот прием применяется только для предупреждения и подтверждения, поскольку они являются модальными диалоговыми окнами.

0 голосов
/ 01 июля 2011

Измените alert на новую функцию, которая выдает правильную ошибку.

window.alert = function(msg) {
  throw "Alert: " + msg;
};

В старых версиях IE не разрешается перезаписывать свойства окна, такие как предупреждение, таким образом, в JavaScript ... но вы все равно можете сделать это с помощью VBScript.

Sub alert(msg)
  Err.Raise 8, "Alert", msg
End Sub

Если вы идете по маршруту VBScript, убедитесь, что он предшествует любому JavaScript, который ссылается на функцию alert, иначе вы упустили свою возможность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...