Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эффективная отладка приложений 
:(
    Опции темы
nns2009
Дата 16.3.2011, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 1.2.2009

Репутация: нет
Всего: 1



До этого я писал в основном клиентские приложения и с отладкой проблем не было: часть ошибок сообщалось на этапе компиляции, а для остальных я просто нажимал кнопку "Debug" и начинал выполнять программу по шагам. Но как выполнять отладку программ, написанных на php??? Кроме того, что я не могу выполнить её по шагам, в случае синтаксической ошибки я даже не знаю номер строчки, на которой эта ошибка находится!!! Дело усложняется тем, что я пишу приложение немного, но всё-таки общающееся с facebook'ом, из-за чего отладку можно выполнять только на удалённом сервере. Как посоветуете выполнять отладку?
PM MAIL   Вверх
Clickbeetle
  Дата 16.3.2011, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.3.2011

Репутация: нет
Всего: нет



Ну во-первых Zend Studio умеет проводить отладку по шагам и подсвечивает ошибки синтаксиса, и не только она, есть много бесплатных аналогов. Например тот же PHPEclipse http://www.phpeclipse.com/wiki/General/PHPEclipseFeatures. Плюс у компании Zend есть решение и для удаленной отладки, но я бы посоветовал вам в своих приложениях использовать исключения, т.е. в случае ошибки, чтобы срабатывало исключение. Базовый класс Exception в php уже содержит информацию о номере строки, где произошла ошибка, код ошибки и т.д. Плюс никто не запрещает наследовать свои классы исключений, с расширенным функционалом. В приложение же остается только с помощью функции echo выводить информацию из объекта класса Exception. Надеюсь помог, если будут вопросы задавайте. smile 

Это сообщение отредактировал(а) Clickbeetle - 16.3.2011, 19:54
PM MAIL   Вверх
bars80080
Дата 16.3.2011, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(nns2009 @  16.3.2011,  15:36 Найти цитируемый пост)
в случае синтаксической ошибки я даже не знаю номер строчки, на которой эта ошибка находится!!!

так включите ошибки

в конфиге надо было приписать
Код

display_errors On


или тоже самое прямо в пхп-коде:
Код

ini_set('display_errors', 1);


и добавьте ещё

Код

error_reporting(E_ALL|E_NOTICE);

PM MAIL WWW   Вверх
nns2009
Дата 16.3.2011, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 1.2.2009

Репутация: нет
Всего: 1



Цитата(bars80080 @  16.3.2011,  19:59 Найти цитируемый пост)
ini_set('display_errors', 1);

Цитата(bars80080 @  16.3.2011,  19:59 Найти цитируемый пост)
error_reporting(E_ALL|E_NOTICE);

Помогло!

Цитата(Clickbeetle @  16.3.2011,  19:51 Найти цитируемый пост)
Например тот же PHPEclipse

А имеет ли PHPEclipse удалённую отладку?

Вопрос №следующий:
Предположим, я разработал приложение, залил его, всё работает, но хочется что-нибудь добавить. Как тестировать приложение на удалённом сервере(должно быть небольшое общение с facebook'ом(получить Фамилию, Имя пользователя)), чтобы при этом не нарушалась работа текущей работающей версии приложения? Есть идея разделять содержимое на 2 папки "Debug" и "Release" и в зависимости от того, передан ли параметр ?debug=true определять из какой папки брать содержимое, но хорошо ли это?

Вопрос №более следующий:
В предыдущем случае даже после небольшого поправления в файле(забыл ; поставить, к примеру) необходимо перезаливать этот файл на сервер. А имеется ли возможность настроить мой собственный ноутбук как сервер(в целях отладки)? К примеру, фейсбук посылает серверу(удалённому) запрос, удалённый сервер смотрит, передан ли параметр ipToDebug и, если этот параметр передан, перенаправляет запрос на него(на данное ip). А если параметр отсутствует, то выдадим рабочую версию приложения(на удалённом сервере).
PM MAIL   Вверх
Clickbeetle
Дата 17.3.2011, 02:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.3.2011

Репутация: нет
Всего: нет



Для удаленной отладки есть сей модуль : http://xdebug.ru/

По первому вопросу:
Лучше на мой взгляд просто сделать бэкап базы данных, приложения. И редактировать рабочее приложение, если что-то пойдет не так, откатитесь. 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0564 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.