[prog] debug при разработке сайтов

    Странички сейчас все сплошь динамические — на скриптах. Тоже ведь программы в своем роде. А вот вопрос отладки как-то слабо поднимается (если сравнить с C++ тем же). Все сводится к оценке на глаз, правке и так по кругу. Сообщения от ошибках выводятся в ту же HTML страницу — так проще.


    Но какие есть варианты?

    Вариант номер раз — все те же логи. Создается функция для вывода ощибки. Далее ей предписывается записать сообщение в лог с указанием даты, страницы, URL (один скрипт может вызываться по разным URL) ну и дригие значения по необходимости. Кроме того можно отправить сообщение на mail админу (что не пользователи тормошили что с сайтом проблемы). А в страничку выводить просто «У нас все плохо, но спасибо, мы уже вкурсе» :) ну или тот же текст на период разработки сайта. А так — подробности сторонним пользователям ни к чему.

    Возможные минусы — хорошо бы систему против DoS внедрить. А то так письмами может заспамить. Ну и лог периодически обрезать надо будет.

    Вариант второй — больше для периода разработки подходит. Встроить библиотечку отладки в каждую страницу или движек. Вызывать будет, например, путем добавления "&dbg=true" в URL (вручную). В этом случае страничка кроме всего прочего будет заполнена всякой отладочной информацие — пути, переменные, ссылки, время отработки запросов и т.п

    Ессно про это не распостраняться, чтобы не прикаллывались потом пользователи ;) Да и можно это будет отключить. Но для отладки очень даже неплохо ногда бывает. Особенно если страничка из кусков собирается, которые фиг знает откуда беруться.

    Это все было касательно именно серверной части. Про отладку JS/DHTML и т.п вроде и так все понятно — есть и скрипты, и утилитки.

    Кто какие еще варианты знает и использует?
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 10

      +3
      В качестве самоличного лога ошибок (только для себя) очень неплохо использовать Debug_HackerConsole товарища Котерова. Очень удобно: получается вроде как бы и на сайт ошибки-то выводятся, и самому сайту не мешают.

      Но вот в сеть это выставлять уже не стоит, нечего пользователям знать о таком.
        0
        Пасиба! Не знал про эту штуку. Понравилась.
          0
          Я умудрился хакер-консоль прикрутить так, что она только админам доступна. ))
          Классная штука. Но есть проблема... Выдирать потом (когда детище готово) из большого проекта все вызовы методов долго...
          +3
          Самый оптимальный способ отлаживать веб-сайты - не отлаживать их вообще :-) Из опыта использования Ruby on Rails могу сказать, что юнит-тесты в большинстве своем исключают надобность отладки.
            0
            TDD сильно уменьшает необходимость в отладке.
              0
              Первый вариант в JSP/Servlets уже давно. На страницу выводится только 500 ошибка с указанием где упало. А более подробная информация только в логах.

              Второй вариант можно дополнить включеним дебуга в конфигурационном файле.
                0
                всегда использовал echo print print_r
                  +1
                  В asp.net есть просранство имен System.Diagnostics с классами для записи трассировки в логи, которые потом можно посмотреть через страницу ~/trace.axd

                  кроме того стандартный дебагер vs2005 позволяет выполнять пошаговую трассировку и ставить breakpoint'ы
                  рекомендую.
                    0
                    Да, аналогично для скриптования в PHP, в "Zend Studio" есть Debugger и брейкпоинты, так же и в простом редакторе PHP Experd Editor есть Debugger и брейкпоинты.

                    Но лично я, уж извините за "дет-сад", методом: мысленной диагностики вариантов данных вводимых в часть кода и выводимых из нее; и еще с "print ..." или "print_r(...)" таких данных.
                    0
                    Если писать на php, то zend debug/xdebug очень помогает. Кстати на хабре были статьи о нем.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое