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

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

  • Дедовские методы: команды 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

GD

Guest
tony2001:

видимо я афигительно в шары долбился...
пасиб..
попробую...
 

generalitet

Guest
Я не понял зачем меня пригласили сюда
 

generalitet

Guest
Автор оригинала: Yurik
display_error=on
error_reporting = E_ALL

print_r
var_dump
echo
phpinfo
exit;
die
Это про что вообщее? Мне кажется это не совсем то, что имел в виду предыдущий участник.
 

snick

Guest
Пробовал разные дебаггеры, вроде все озвучивались, но реально польуюсь дедовскими плюс пара дополнительных фич и приемов.
А для отладки маленьких кусков и простых алгоритмов пользуюсь такой штукой:
PHP:
 testCode.php:
<?php

$phpCode = &$_POST["code"];
$phpCode = stripslashes($phpCode);

?>

<form method='post'>
<textarea name='code' cols=80 rows=5 style="font-family: couries new; font-size: 10pt"><?=$phpCode?></textarea><br>
<input type='submit' value='запузырить'>
</form>

<?

eval($phpCode);

?>
 

Scarab

Guest
Автор оригинала: ma2dy
Все таки как говорит статистика ( см. начало топика)
Старый дедовский echo надежнее всего
Оно не то, чтобы надежнее - оно проще.
Даже когда есть дебажный класс - то тыкать в каждое место
PHP:
$debug->Message(D_SQL, $sql_statement);
ты не станешь.
А так - ну глюкнуло что-то, сказал ты в этом месте print_r(), посмотрел, пофиксил, убрал.

А дебаггерами или IDE я не пользуюсь - пишу ручками.
 

Profic

just Profic (PHP5 BetaTeam)
А так - ну глюкнуло что-то, сказал ты в этом месте print_r(), посмотрел
Главное в этом деле знать то место где глюкнуло :) Вот когда не знаешь на каком этапе именно глюкнуло, тогда и используешь отладчики :)
 

PigsOnTheWing

Guest
Oi... :)
А у меня каждый раз в поп-апе вылазит дебаг мой...
что он делает ?

1) все SQL запросы и инфа по ним (с ошибками если есть)
2) Переменный POST GET COOKIE SESSION
3) можно выкидывать (вместо echo) туда переменные (спец. метод)
4) Templateовые переменные
5) Время выполнения скриптов
6) Внутренние ошибки (логика и проверки)

мне хватает ... даже совсем хватает... :)
 

pachanga

Новичок
Народ, ну вы даете! DBG рулит - лучшего средства дебага под win я не видел, отладка почти как в VisualStudio.
Я долго удивлялся, как я вообще жил без такой отладки еще полгода назад.
Одна беда - DBG стал платным :( И теперь не работает с php4.3+, посему сидим в php4.2, но это того стоит!

А еще есть отладочный класс debug, который работает как singleton и доступен в любом классе.
Использует методы типа debug::write_notice(), debug::write_warning(), debug::write_error() и пишет в log, а по желанию выкидывает html popup со всей отладочной инфой.
 

kuguarchik

Guest
Код пишешь постепенно, когда понимаешь, что ты уже нифига не понимаешь, два шага назад и заново все строчишь =)

Ну если не так все плохо, то echo.
 

alienzzzz

интернет бизнес
Итак, я вот как делаю.
Открываю окно одно и пишу в него с помощью джава скрипта.
и в классы поставил переменную сет дебуг левел.
и устанавливаю например, чтоб не было каких нибудь ошибок, я ставлю эту переменую в 0, а чтоб максимально писала в отладочное окно ставлю например 5. Это уже зависит сколько у меня уровней дебугизации
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: pacha
Одна беда - DBG стал платным :( И теперь не работает с php4.3+, посему сидим в php4.2, но это того стоит!
Забористая штука, отсыпь!

P.S. Бесплатная версия замечательно скачивается и замечательно с 4.3.x работает
 

Апокалипсис

Guest
P.S. Все скрипты, что я пишу написаны под register_globals=off, и соответственно их легче отлаживать.
 

astonix

Guest
die -- когда работается с чужими базами, остальное от лукавого, в коде все видно.
 

FreeSpace

Чукча-читатель
До сих пор - дедовскими способами и их собственными вариациями.
Сейчас заценю xdebug, а потом уже проголосую...
 

Romantik

TeaM PHPClub
Обычный дамп всех переменных.
PHP:
<?
echo "\n<!-- BEGIN VARIABLE DUMP -->\n\n";
echo "<!-- BEGIN GET VARS -->\n";
echo "<!-- ".dump_array($HTTP_GET_VARS)." -->\n";
echo "<!-- BEGIN POST VARS -->\n";
echo "<!-- ".dump_array($HTTP_POST_VARS)." -->\n";
echo "<!-- BEGIN SESSION VARS -->\n";
echo "<!-- ".dump_array($HTTP_SESSION_VARS)." -->\n";
echo "<!-- BEGIN COOKIE VARS -->\n";
echo "<!-- ".dump_array($HTTP_COOKIE_VARS)." -->\n";
echo "\n<!-- END VARIABLE DUMP -->\n";

function dump_array($array)
{
 if(is_array($array))
 {
 $size= count($array);
 $string="";
  if($size)
  {
  $count=0;
  $string.="{ ";
   foreach($array as $var=>$value)
   {
   $string.= "$var= $value";
    if($count++<($size-1))
    {$string.=", ";}
   }
  $string.=" }";
  }
 return $string;
 }
 else
 {return $array;}

}
?>
Который просто инклюдю в тестируемый скрипт

Понравился Debug Lib, но так не дошли руки
 

[ChG]EliTe

Guest
Как правило вполне хватает "дедушкиных методов", редко когда приходиться дополнительно скрипты для отладки писать... Но иногда приходиться...
 

Саныч

Guest
IMHO, внутренний отладчик очень пристойно работает. Это, кстати, очень повлияло в свое время на выбор мной PHP как основного языка web-программирования. Ибо PERL в этом отношении, конечно, не на высоте.
 
Сверху