Ответы актуальны для крайней версии «Расширенной отладки». Влияет ли «Расширенная отладка» на функционирование InstantCMS 2? «Расширенная отладка» не оказывает влияния на работу функций CMS и её компонентов. Она только ведёт учёт происходящих в системе действий. Какие изменения вносит «Расширенная отладка» в систему? «Расширенная отладка» не изменяет базу данных, кроме добавления стандартной записи о новом установленном компоненте. Начиная с версии 14.1 отладка может работать в двух режимах: стандартном - практически без изменения ядра, и полном - с патчами ядра для сбора дополнительных отладочных данных. Подробнее про режимы и изменяемые файлы можете почитать на странице описания режимов. Установил отладку, но информации отладки на сайте не вижу. Что не так? 1.
В стандартной версии движка пока перехватываются и обрабатываются только ошибки при обращении к базе данных. Ошибки PHP и предупреждения (в случае соответствующих настроек на сервере) не выводятся, а тихонько ложатся в лог веб-сервера. «Расширенная отладка» предоставляет несколько больше возможностей при обработке ошибок, которые будут полезны и разработчикам, и вебмастерам.
При анализе работы движка CMS или при отладке своих компонентов/шаблонов требуется знать состояние переменных в разных местах кода. Частично эта задача решается выводом информации об основных операциях несколькими щелчками мышки в «Расширенной отладке». А для более точного понимания происходящего в любом месте кода можно использовать контрольные точки.
Самый интересный вопрос для любого разработчика: «Что там, внутри моего кода, на самом деле происходит с данными?». Потому, что реальность иногда отличается от задумки из-за стратегических, логических и синтаксических ошибок в коде. И чтобы привести их в соответствие, нужно знать, какие данные поступают на вход той или иной части скрипта, и какие результаты обработки данных получаются на выходе.
Немного поговорим про использование фильтров. Поскольку «Расширенная отладка» может выдать в лог очень много разной информации, то возникла необходимость как-то организовать отбор только нужных строк логов. Для этого я сделал фильтры.
Этот и несколько следующих постов про использование «Расширенной отладки» будут в основном полезны для разработчиков и желающих разобраться в InstantCMS 2 на уровне кода. Начну с небольшого поста про трассировку вызовов. Ведь всегда хочется понимать, что откуда вызывается и где источник тех или иных данных.
Использование расширенной отладки. Часть 3. Изучаем работу InstantCMS 2 без знания PHP При создании своих сайтов любой вебмастер довольно быстро сталкивается с необходимостью хотя бы в общих чертах понимать, как устроена и работает выбранная им CMS. Попробуем наглядно посмотреть, как работает InstantCMS 2, без знания программирования и без чтения php-кода системы на примере одной из страниц демо-сайта. Это очень просто!
Пока писал пост про использование «[url=]Класса расширенной отладки v.9[/url]», заметил, что не хватает пары небольших полезностей. Вот, добавил. Заодно исправил обнаруженные небольшие ошибки.
Бывает так, что весь сайт работает достаточно шустро, а некоторые его страницы – заметно медленнее. Или создали новый сайт, настроили компоненты, виджеты, добавили материалы, а он тормозит. Или страницы сайта стали загружаться через раз, а поддержка хостинга начала ругаться на превышение лимитов процессора/памяти или на слишком «тяжёлые запросы». Как понять, что именно вызывает эти проблемы? Конечно, можно по очереди отключать компоненты, убирать виджеты и пытаться визуально оценить, насколько быстрее стал работать сайт. Но легче и удобнее разобраться с причинами вышеописанных проблем используя «Расширенную отладку». Материал в первую очередь рассчитан на пользователей, которые только начинают разбираться в InstantCMS 2. Но также будет полезен как пример использования отладки и для более опытных.
Обновление класса расширенной отладки и оптимизации для InstantCMS 2.3.0.
Долгожданное обновление класса расширенной отладки и оптимизации для InstantCMS 2.2.1.
Поскольку звучат вопросы о том, как можно определить, в чём может быть причина притормаживаний на сервере, решил написать отдельный пост по этой теме. Чтобы понять, что именно вызывает тормоза, нужно узнать время работы разных частей скриптов и разных компонентов сервера, а потом сравнить это время много раз, обновляя страницы в разное время.
Обновление класса расширенной отладки и оптимизации для InstantCMS 2.1.2. Также исправлены несколько ошибок предыдущей версии.
Обновлённая версия класса расширенной отладки для InstantCMS 2.1.0-2.1.1. Добавил в этой версии: ------------- + Перехват и вывод в лог ошибок PHP. + Сообщения админу о критических ошибках. + Вывод пользователям (не админам) заданного текста вместо информации об ошибке. + Блоки в настройках сделаны в виде вкладок. + Добавлены фильтры для автозагрузок классов. + Сделан учёт расхода памяти на отладку – строка 'debug' в блоке 'Memory' суммарной таблицы. При минимальных настройках класс использует всего 11 килобайт. + Подсветка цветом медленных запросов в логе. + Подсветка цветом "тяжёлых" хуков в логе. + Подсветка цветом "тяжёлых" виджетов в логе. + Добавлена обработка строковых параметров в настройках. Теперь можно использовать одинарные и двойные кавычки в строковых полях настроек. + Функция вызова точки отладки 'DebugCheckPoint' теперь имеет другое, более короткое имя 'dcp'. Я замучался писать длинное имя при постоянном её использовании и решил упростить жизнь себе и вам. 😊
Мощный, но лёгкий класс расширенной отладки для InstantCMS 2.0. Обновлённая версия с новым функционалом. В ответ на просьбы к разработчикам CMS на форуме – теперь также собирается и выводится информация о событиях/хуках и виджетах!