Самая сложная проблема отладки JavaScript - PullRequest
1 голос
/ 13 октября 2008

У нас есть приложение ASP.NET, и при запуске на клиентском сайте они часто получают ошибки Javascript с нулевой ссылкой. Как и со всеми этими ошибками, информация, отображаемая IE6, не очень полезна. Но проблема в том, что как только я устанавливаю отладчик сценариев IE и пытаюсь отладить немного больше, ошибка становится невоспроизводимой. Существуют ли другие инструменты, которые могут быть полезны для отладки JavaScript на сайте клиента. Ошибка также не возникает с IE7 или Firefox.

Ответы [ 6 ]

7 голосов
/ 13 октября 2008

Вы хотя бы знаете, какой объект является нулевым? Вы знаете, что за линия?

Если нет, вы можете закомментировать код, пока проблема не исчезнет. Затем начните возвращать его по частям, пока проблема не появится снова

alert () - ваш друг. Попробуйте / поймайте - с оповещениями об исключениях - тоже можете быть вашим другом.

Может помочь загрузка с firebug в firefox - даже если firefox не отображает никаких ошибок, firebug может дать вам некоторые полезные данные, особенно если вы можете сузить линию или объект, который имеет проблему. В том же духе, отладчик сценариев IE может дать вам некоторую полезную информацию, даже если ошибка не возникает.

Код запутан? Проблема возникает, когда она не запутана?

Можете ли вы скопировать исходный код в локальный файл и поиграть с кодом без участия сервера? Это ускорит эксперименты, которые вы будете делать много.

2 голосов
/ 16 октября 2008

Для всех, кого это волнует, я нашел проблему. Это была ошибка в .NET, которая конфликтовала с ASP.NET Ajax. Это было исправлено в .NET 2.0 sp1, который, как оказалось, не был установлен, но как только я установил его, все проблемы исчезли

2 голосов
/ 13 октября 2008

Проверьте ваш код с помощью jslint - IE6 часто отключается из-за незначительных синтаксических ошибок, которые прощает Firefox.

0 голосов
/ 13 октября 2008

Вы пробовали Firebug Lite ? Он предоставляет вам множество функций Firebug через букмарклет . Я не уверен, что это поможет с ошибками сценариев, но позволит вам просматривать загруженные сценарии и DOM.

Companion.JS также может оказаться полезным, поскольку он дает вам немного лучшую помощь по отладке скриптов, чем IE.

0 голосов
/ 13 октября 2008

У вас установлена ​​Visual Studio?

Если это так, включите отладку скриптов в IE, как для отладчика скриптов.

Добавьте строку в свой javascript, как ...

debugger;

затем запустите вашу страницу. Вы должны увидеть диалоговое окно с просьбой начать отладку. Выберите новый экземпляр VS и пройдитесь по коду, чтобы увидеть, где происходит ошибка.

0 голосов
/ 13 октября 2008

Гейзенбагс действительно отстой. Я согласен с JSight, что ошибки, вероятно, вызваны некоторыми условиями гонки; то есть вы пытаетесь получить доступ к элементам страницы, которые еще не существуют.

...