Живая отладка javascript путем записи вызовов функций и параметров
Существует ли система отладки, которая позволяет мне записывать вызовы функций javascript и их параметры по мере их появления? это позволило бы мне отслеживать и отлаживать приложения в реальных / клиентских ситуациях без снижения производительности из-за ручной регистрации.
Редактировать: я не говорю о вызове функций вручную с помощью окна "console" и просмотра результатов или о добавлении команд "trace" или "log" вручную в мой javascript. Мне нужно, чтобы он работал с любым работающим JavaScript.
10 ответов
Можете ли вы переопределить Function.prototype.call и получить аргументы и arguments.callee?
Это может привести к тому, что отчеты обо ВСЕХ функциях будут супер-многословными, но, возможно, вы захотите отфильтровать.
Тогда у вас есть вопрос о том, как вы хотите сообщить, возможно, с помощью if (console) console.log
Вы могли бы взглянуть на http://ajax.dynatrace.com/ajax/en/ - только его IE, но чертовски хорошо, см. эту статью j. Resig: http://ejohn.org/blog/deep-tracing-of-internet-explorer/ > "..dynaTrace предоставляет некоторую информацию, которую я никогда не видел прежде - в любом инструменте в любом браузере".
Когда я читал ответы и смеялся над дублирующими ответами "Вы можете использовать Firebug!" Я понял.... вы можете использовать Firebug.
Серьезно, у него есть команда "профиль", которая делает именно то, что вы просите. Safari и Chrome имеют эту функцию, так что вы также можете зарегистрироваться там. IE8/9 имеет инструмент "профилировщик", который похож (но я не знаю, может ли он быть вызван из JavaScript с console.profile())
Это даст вам точное время, так как любой код и добавленные вами журналы также повлияют на реальную производительность. И поскольку эта функция есть в лучших браузерах, вы получаете разумное количество данных.
Я нашел fireflow: https://addons.mozilla.org/en-us/firefox/addon/fireflow/ невероятно полезным.
@Jenko, если вы ищете что-то похожее на отладчик IDE, в этом случае Internet Explorer 8 и 9 имеют встроенные средства разработчика (нажмите F12), а в Chrome также есть средства разработчика. И IE, и Chrome позволяют вам устанавливать точки останова в вашем коде и проходить через него во время работы. Firefox имеет Firebug, о котором упоминали другие, и он также позволяет устанавливать точки останова и проверять выполнение вашего кода. Опера имеет Dragonfly (встроенный) и имеет те же функции, что и другие браузеры.
Возможно, лучший онлайн контроль качества кода Javascript - это JSLint. Он не только проверяет код на наличие ошибок, но и полностью улучшает стиль кодирования программ. Именно поэтому автор сделал это в первую очередь. Мои 0,02 $
Да. Все основные браузеры имеют встроенный отладчик (IE, Chrome, Safari) или доступны как дополнение (Firebug для Firefox).
Firebug хорош для этого. Или вы можете также использовать встроенный отладчик Google Chrome.
Если вы говорите о javascript dedub на стороне браузера, вы можете использовать Firebug, который является отличным инструментом.
Здесь вы можете найти пошаговое руководство:
Для Firefox Firebug для IE deeloper инструмент для встроенного отладчика Chrome приятно использовать