Blog about Delphi programming

понедельник, 20 августа 2007 г.

Если вы работаете с Zend Studio

Я попробовал работать с Zend Studio и одновременно с моим монитором. Правда отладчик Zend я не настроил, но проверку синтаксиса на лету помогает делать встроенная в Zend функция: Analize Code. Пользоваться им для поиска синтаксических ошибок намного проще чем моим debug ajax. Это плюсик в сторону Zend. А между тем вышла версия 0.14.

+ теперь форму debug ajax можно скрывать / открывать по нажатию хоткея Alt-2 из любого места Windows. 8)

Тестировать стало намного удобнее, приятнее, виднее и практичнее. Must have!
Версию пока никуда не выкладывал

воскресенье, 19 августа 2007 г.

debug ajax 0.13 FREE!!!

Эту версию debug ajax я решил выложить для всех не через магазин.
В этой версии исправлено следующее:
* теперь нет глюка с неполным текстом сообщений от функции d()
* При обновлении данных окошки автоматически скроллятся вниз НОРМАЛЬНО, раньше было криво.

Итак лейте себе и пробуйте, ajax debugger
debug ajax 0.13

четверг, 16 августа 2007 г.

Другие аналогчиные отладчики

Посмотрел я буржунет на предмет похожих решений и стало смешно.. наберите в google: ajax debug.
Увидите парочку сразу же.. они чем и занимаются это перехватывают траффик, и показывают содержимое, а ведь это лишь 1/3 функциональнойсти моей проги ! С моей прогой вы не только увидите выходной траффик клиенту, но и отдельно лог ошибок PHP и собственные отладочные изыски с помощью функции d(), и все это всегда на экране, перед глазами, никак не зависит от браузера и редактора ! Вообщем ЖЕСТЬ ! 8) и стоит-то 1.49$ у буржуев все платное кстати.

debug ajax 0.12

Добавлена документация
Исправлены мелкие ошибки
Чутку доработана по мелочам
Выложена в магазин тут

среда, 15 августа 2007 г.

debug ajax 0.11

0.11 к сожалению лог php отображается в обратном порядке парсить его - себе дороже, поэтому я сделал авто прокрутку на самые последние данные, есессно ее можно отключить в интерфейсе, и еще один зачет .. теперь можно по горячей клавише Alt-1 из любой программы очистить окно дебаггера, должно быть удобно, только бы с другими редакторами дружило

debug ajax 0.1 !!!


Наконец-то готова прога по функционалу, надо бы написать небольшое описание и можно раздавать. Что решилось:
+ добавлен перехватчик выходного потока php (не идеальный конечно) но зато теперь можно глазеть и на JSON ответы, видя чисто то что было передано
* перелопаен интерфейс, стал более внушительным
+ сделано прозрачность
+ отключение каждого окна
+ автосохранение конфига
вообщем теперь прогу можно бы и выставить

Вообще для нормальной отладки ajax я вижу 3 необходимых потока данных:
1.Ошибки PHP(пока PHP)
2.Все что выходит в результат PHP (например JSON или какой-то XML, который теперь легко скопировать и отдать валидатору) Выход PHP и Ошибки PHP имеют много общего, но все же это разные вещщи и потоки это разные.
3.Собственно любая другая информация, которую можно вывести в отладчик функцией d()

Правда это все что касается серверной части, на клиентской части проблемм может быть не меньше, однако безконечные alertы и текст ошибок в браузерах пока спасают 100% и решение отладки пока в голову не пришло, если есть варианты - пишите !

Ждем начала

понедельник, 13 августа 2007 г.

debug ajax 0.07

пытался перехватить E_ERROR, не совсем удачно, к тому же есть ньюансы при работе с jsHTTP, решил координально избавиться от этой вещщи, т.к. стандартно в PHP нет нормального перехвата E_ERROR. Поэтому решено ловить лог PHP.Теперь десктопная часть отображает 2 части:
1. Ваши команды от функции d()
2. PHP Лог error_log
пока версия корявая и надо при загрузке каждый раз указывать путь, но это исправлю и тогда выложу на plati.ru
Что мне понравилось в ob_start ?
Вроде отладчик стал куда более продвинут, но все же хочется видеть полные ответы от сервера, именно с ob_start я увидел настоящий JSON код . Это тоже именно то что надо !
Поэтому хотелось бы реализовать перехват вывода.. но посмотрим.

четверг, 9 августа 2007 г.

Какие проблеммы в отладке

1. мультибраузерность. Обойти ее GWT можно, но слишком уж это страшно
на JAVA переходить.
Правда иногда отладка превращается в кашмар, или ошибка закралась там
вроде думаешь что как обычно недоследил, а она в браузере.
Ловить в двух-трех сразу.
Пока решения в голову другие не приходят.
2. Совместимость разных библиотек. например одновременно юзаю jsHTTP и
jquery, первая в каком-то случае отказалась работать в Opera, обычно
работает хорошо.
3. Ошибки синтаксиса свои же.. ну бывает, и ладно в PHP - там быстро
найти, а JS - искать погано надо сказать.

В PHP или JS ошибка ?Естественно проверять кажую новую букву не
будешь, поэтому пишешь кусками.
И тут и там.. и получается чертеебей. Ни Zend ни PHPed тут сил не
имеют.
Сила в alert и теперь в echo (а теперь в d())? читай мой дебагер.
Но это ужасно неудобно alertать все время.
и ВООБЩЕ не видно что от клиента ксерверу идет,.. надо логи читать

Десктоп изменения

теперь десктопная часть сдизайнена с минимальными размерами кнопок, убраны кнопки минимизаций
СИЛА!

среда, 8 августа 2007 г.

Версия 0.04

// самый простой отладчик для PHP.
// Вызываемая функция пишет в файл передаваемые данные. и все
// 0.02 теперь пишем backtrace файл и строку {}
// 0.03 если вызвать дебаг с текстом -empty то выходящий файл очистицца, это сделано для того чтобы была возможность очищщать файл лога в нужный момент
// 0.04 теперь весь UTF кодируется в win для правильного отбражения в RichEdit, функцией можно пользоваться и для обратного конверта зачем-то 8)

Написал в пару строк и две проги

писать ajax приложение несколько сложнее, а отлаживать в таких монстрах как zend или phped или родственниках xdebug - лень да неохота разбираться, тогда для вас нужен мой отладчик, сначала он занимал строчек 7 кода на PHP и 2-3 строчки на C++
Отладка заключается в том что из PHP вызываем команду отладки, которая пишет передаваемые данные в простой файл, а другая тулза, (прилагаемая) постоянно читает этот файл и показывает все время новый на вашем экране. Вообщем чтобы посмотреть данные переданные отладчику, вам не надо никуда лезть, все на экране.
Другое дело что надо вызывать функцию d()
Но давайте рассмотрим недостатки и приемущества.
1. Мы можем одним движением руки полностью отключить все отладочные записи в файл (т.е. функции-то конечно останутся, но писать уже не будут). и так же легко можно включить.
2. Мы пишем в лог отладочную инфу в нужном и удобном для нас формате
3. автоматом скрипт форматирует текст, и добавляет такие параметры как откуда и с какой строки была вызвана отладочная функция
4. Мы можем легким движением руки очистить лог как из PHP так и из десктопа
5. Отключить отладку, свернуть отладчик в трей
Вообщем пока вроде все.
Это решение на коленке родилось после пары дней которые я убил на то чтобы поставить хоть какой-нибудь отладчик.