Отладка скрипта

При отладке скрипта я использую

  • Дедовские методы: команды echo, print_r

    Голосов: 130 75,1%
  • Отладочные скрипты и классы

    Голосов: 7 4,0%
  • Отладочный Порт

    Голосов: 0 0,0%
  • PHPEdit

    Голосов: 6 3,5%
  • Zend Studio

    Голосов: 14 8,1%
  • что-то иное (написать)

    Голосов: 6 3,5%
  • xdebug

    Голосов: 5 2,9%
  • DBG

    Голосов: 5 2,9%
  • ADP

    Голосов: 0 0,0%

  • Всего проголосовало
    173

pachanga

Новичок
Автор оригинала: Sad Spirit
Забористая штука, отсыпь!

P.S. Бесплатная версия замечательно скачивается и замечательно с 4.3.x работает
Эх-ма! Вот спасибо - я там давно не был, забил, думал про нас-халявщиков забыли, ан нет. Все: качать, качать, качать!!!

P.S. "Отсыпь" - это сленг такой или ты мой debug класс попросил? :)
 

lovchy

nacido para cifrar
Дедовские способы - экстренная помощь. А так - xdebug штука удобная .].
 

Desperatos

Guest
Дедовские способ echo вполне достаточно, потом пускаеш кучу левого народа (5-10чел) и они его гоняют в экстримальном режиме полсе чего не страшно народу показать.
 

LastAdm

Guest
Модифицировал дедовские методы.
Накорябал свой подгружаемый модуль - реализует ф-ю debug: присунул туда тоже, что var_dump только еще выводит строку откуда она была вызвана, т.е. номер строки и процедура. Вообще-то модуль мне нужен был чтобы uudecode реализовать эффективно. но а это - до кучи уж. Одно плохо - пересобирать с каждой новой версией php надо. Но оно и понятно.
 

LastAdm

Guest
Кстати, поразглядывал внутренности php пока разбирался что там и как вытащить имя текущей процедуры. Так вот, камрады, ничего там конечно сверхестественного нет и при определенном старании можно будет изобразить бодее-менее сносный дебагер-профайлер-мод. Но этим вопросом заниматься надо, конечно. :) Упорно. А я и так по 12 часов ковыряюсь непонятно с чем (и что самое обидное - не с PHP :))
 

screw

Guest
дедовские + в особо извратных случаях Komodo
 

lamerok

Guest
Есть такая приятная штука - Eclipse (www.eclipse.org), к ней есть плагин TruStudio (www.xored.com), там есть поддержка отладчика DBG, вот это и юзаю. :cool:
 

TotalViewer

Guest
Дедовские методы: команды echo, print_r
error_reporting = E_ALL
 

ThomLee

Guest
обычно отладку в несколько шагов
1)Отладчик zend studio
2)по breakpoint и каждую функцию и класс по отдельности
3)вывод результата для каждой переменной при каждом её изменении при помощи var _dump()
4)отслеживание всех warning, notice etc.,
5)Отработка всех пришедших в голову вариантов скрипта целиком с использованием форсмажорных обстоятельств:
перегрузка mysql, нехватка памяти, перегруженность сервера
6)отслеживание время исполнения скрипта
7)Отработка общего результата с использованием в качестве тестера специально найденного для этого не очень умного юзверя, интересуют, в частности, реакции скрипта на "глупые" действия пользователя, зачастую выявляются мои не умные решения :о)
 

deft

Guest
Из редакторов ничего лучше хомяка не видел пока...(вот только что посмотрел на editplus, кстати). Но не знаю...быть может дело в привычке.

P.S. Дедушки рулят.
 

Bigls

Guest
HomeSite + echo + главный редактор и пара секретарш == полной отладке ибо то что может сделать эта троица не придет в голову даже злостному хацкеру :))
 

HEm

Сетевой бобер
может я и похож на того мужика которому говорили - "научись электропилой пилить!", а он отвечал - "нет, мне некогда, мне лес валить надо" и пилил обычной пилой, но юзаю я echo и свою функцию
PHP:
function Dump($Var,$Name)
{ if (( is_array($Var) || is_object($Var)))
  { if (is_array($Var)) { $t = $Name." => Array"; } else { $t=$Name." => Object"; }
    print("<li>".$t."[".count($Var)."]</li><ul>\n");
    while(list($k,$v)=each($Var)) 
      { $temp = Dump($v,$k); }
    print("</ul>\n");
  } else {
      if ((is_int($Var))||(is_float($Var))) { $t = $Var; } else { $t = "'".$Var."'"; }
      print("<li>".$Name." => ".htmlspecialchars($t)."</li>\n");
  }
}
// примеры:
/*
for ( $i=0; $i<20; $i++ )
{ $A[$i] = $i*$i;
}
Dump($A,"A"); */
// Dump($GLOBALS,"Globals");
 

Verk

Guest
PHPUnit
PEAR benchmark
xdebug
когда лениво - дедовские способы.

и вообще, почему в голосовании радиобутоны ? чекбоксы надо было ставить :)
 

stepashka

Guest
Программирование на PHP не основное направление моей работы. Большую часть времени я пишу с использованием визуальных сред разработки (в общем-то только двух: MSVC и Delphi), поэтому привык к присутствию хороших интегрированных отладчиков, в которых и условные точки останова можно установить, и регистры процесоора посмотреть и т.д.
С существующими отладчиками для PHP еще не имел времени разобраться и поэтому пользуюсь "дедовскими" методами, типа вывода промежуточных значений с помощью echo.
Посмотрев на результаты этого голосование с удивлением увидел, что подаляющее большинство из нас делают то же самое. Поэтому возникает вопрос - с чем это связано?
Неужели существующие отладчики настолько неудобны и малофункциональны? Или может тема отладки пхп скриптов недостаточно освещена? Или связано это с тем, что большинство пишут на пхп не настолько сложные скрипты, чтобы использовать отладчики?
 

Verk

Guest
Автор оригинала: Dolce
Что-то я не понял, а неужели никто не пользуется ASSERTIONS? Я вот весь свой код ими снабжаю ;)
А после удаляешь ?

PHPUnit удобнее, только не для процедурного кода.
 

Сергей Резников

Guest
Тестирую в нештатых сутуациях - хакером прикидываюсь.
 

Oleg Marchuk

Человек
Автор оригинала: MaxIII
В PHP коде соответственно часть на сокетах, которая отсылает информацию.
Ты изобрел велосипед. Почти. Моторолер. Отладочная консоль, которая выдает ошибки ПХП уже встроенная. Единственное что она не умеет - выдавать пользовательские сообщения и переменные. Но ее легко можно научить:
PHP:
error_reporting("DEBUG: ".serialize($var),E_USER_WARNING);
Автор оригинала: MaxIII
Код, который отсылает мне отладочную информацию в релизе не чищу.
Так никто и не чистит :)
 

Verk

Guest
Кстати, о птичках.
Как-нибудь можно под виндами организовать отдельное окошечко с ерорлогом в риалтайме ?
 
Сверху