PHPEdit и Debugging

Роберт

Аналитик
PHPEdit и Debugging

Народ , у когонибудь получилось настроить отладчик (дебаггер) для PHPEdita?
Я уже целый день избился , ничего не получается. Вроде всё делаю по иструкции , и он уже не ругается , даже заходит на первую-вторую строчку , а потом какбуд-то всё закончил... Всё игнорирует.
Причём как локальный CGI он стал работать (если это можно назвать работой) только после того , как я ему все настройки прописал которые положены были для глобально режима. А в самом глобальном всеравно не работает , пишет Session start timeout has expired.
Помогите , может кто видел или может состваить кратенькую инструкцию на русском (может я чего в английском не так прочёл , хотя там вроде всё понятно)
Или кто-то знает где лежит работающий комплект PHPEdita и DBG , так как http://dd.cron.ru/dbg/ (про который много тут написано и с которым собственно и работает PHPEdit) приказал долго жить , уже несколько дней до этого сервера не достучаться , а зеркал за день поисков я так и не нашол...
Помогите , честной народ , пожалуйста...
 

3D-Dragon

Guest
Re: PHPEdit и Debugging

У меня он работает, и не первый год.
Что именно у тебя не получается ?
Как у тебя установлен PHP (cgi или модуль) ?

У меня в дебагере вставлена одна строка и все работает.

E:\_server\php4\sapi\php4isapi.dll
 

Роберт

Аналитик
Re: Re: PHPEdit и Debugging

У меня PHP стоит как модуль (хотя я от безысходности пробывал ставить и как CGI)
А устанавливаю я его следующим образом:
Скачал последний PHPEdit версии 0.7.1.50 (мегов 5 весит)
Поставил.
В настройки PHP добавил:
extension=dbg.dll
[debugger]
debugger.enabled = true
debugger.profiler_enabled = true
debugger.JIT_host = clienthost
debugger.JIT_port = 7869
потом в PHPEdite указал где находится php.exe
собственно говоря и всё...

По описанию PHPEdita для работы отладчика должно было хватить только указания на php.exe , однако это не срабатывало , лишь при прописывании [debugger] начало работать в CGI режиме (у PHPEdita есть два режима локальный-CGI и подключение к серверу) , но и это работой нельзя было назвать - если брэкпоинт стоит на первой стороке - тогда он остонавливался и мог показать все системные переменные , а при попытке трэйсить дальше он сразу прекращал работу , иногда даже подсвечивал все дальнейшие брэкпоинты зелёным , явно показывая , что на них он даже не намерен останавливаться...
Во втором режиме (глобальный) ситуация ещё хуже - при попытке трэйсить он замирает на 5 секунд , а потом говорит "Session start timeout has expired".

В PHPEditovskom manuale написано , что для работы надо использовать только поставляемый в комплекте PHP 4.0.6 и егоже DBG. Я всё так и делал , но нет намёков на нормальную работу.

Ну что я неправильно делаю???
Слушай , а может ты могбы бросить мне свои настройки PHP , Apache и PHPEdita? Если у тебя не платный трафик (я не знаю как у вас там в России) , то я с удавольствием принялбы весь твой PHP , Apache и PHPEdita. Просто от безысходности уже и не знаю что делать , на всё готов... Может у него какой конфликт с апачей или пхп? Я уже раз по 15 все переинсталировал. И апачи разные ставил , и две доступные версии PHPEdita (STABLE и DEVEL) и даже на каком-то сайте нашол DBG более старой версии , так как тот сайт который в нём прописан (http://dd.cron.ru/dbg/ ) - уже не существует...

А может ты как-то по другому дебугишь?
Помоги...
 

3D-Dragon

Guest
Re: Re: Re: PHPEdit и Debugging

Я прошу "пардона", мы говорим о РАЗНЫХ прогах.
Я имел в виду PHPEd 2.96.1.2
Сорри :rolleyes:
 

Роберт

Аналитик
Re: Re: Re: Re: PHPEdit и Debugging

Слушай , а может ты можешь подсказать что надо делать в PHPEd'e , чтобы он дебугил?
Я раньше тоже только им пользовался , а сейчас он стал платным и пришлось искать что-то новое...
У меня осталась PHPEd 2.96.1.2 , но в нём кнопки отладки просто неподсвечены , хотя DBG идёт с ним в комплекте и запускается , но как протрейсить я так и не понял. Вроде на php.exe его сослал , и при нажатии на любую из ОБОИХ кнопок Run , код компилится и получается документ (чего кстати нет PHPEdit'e).
Может подскажешь что надо там ещё подстроить или просто перешлёшь настройки?
По крайней мере я так и не нашол куда там прописывать ...\php4\sapi\php4isapi.dll
 

3D-Dragon

Guest
Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: Роберт
По крайней мере я так и не нашол куда там прописывать ...\php4\sapi\php4isapi.dll
Tools -> Setting

Здесь выбираешь вкладку "Server"

Мои настройки такие:

Server Port: 85
Home Directory: E:\Revansh
Default document(s): index.html,index.htm,index.php,index.php3

File extensions:
Extensions: .php
Executable: E:\_server\php4\sapi\php4isapi.dll


Конфигурация локального сервера такая

E:\_Server\Apache
E:\_Server\PHP4
E:\_Server\mySQL

Файлы основного сервера и виртуальных серверов лежат здесь
E:\Revansh
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: 3D-Dragon
File extensions:
Extensions: .php
Executable: E:\_server\php4\sapi\php4isapi.dll
Если честно , то я только чуть больше запутался...
В разделе "Executable:" у меня был прописан c:\...\php.exe
Теперьже , когда я прописал туда php4isapi.dll он мне начал ругаться на то что Srv.exe не может найти вначале ApacheCore.dll , а потом Win9xConHook.dll. Ну я ему взял и кинул их в его PHPEd директорию из апачевской директории.
НО после этого при закуску Run (F5) уже ничего не работает.
:confused:

Больше разве ничего нигде не надо прописывать?
Тогда зачем там DBG ещё имеется?
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Sorry , Дракон , я изменил порт на 8080 и вроде стало запускаться по нажатию на F5.
Но это было так и при наличии в "Executable:" ссылки на php.exe , а как же с дебугингом?
Он же просто компилит страничку , а как её остановить в каком-то месте? У него ведь нет брекроинтов!
И ещё у него есть раздел где он ЯКОБЫ может показывать значение переменных , но у меня так этого и не получилось сделать...
Может могбы в двух строках описать его правила отладки?
 

3D-Dragon

Guest
Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: Роберт
Он же просто компилит страничку , а как её остановить в каком-то месте? У него ведь нет брекроинтов!
А что ты от него вообще хочешь ??? :confused:
Он тебе показывает то, что ты написАл в коде.

Если тебе нужно прервать выполнение скрипта в "каком-нибудь месте" так пропиши в ЭТОМ месте exit; или die; и будет тебе "брекпоинт" :D

У меня PHP всегда стоит как модуль, поэтому я и использую в дебугере длл-ку.
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: 3D-Dragon
А что ты от него вообще хочешь ???
Именно трэйсера , чтобы построчно можно былобы по коду идти и смотреть какие переменные в каких местах меняются!
Как в Delphi!
Ты посмотри , у него ведь не спроста внизу окошко "watches" есть , да и кнопки Step Into (F11) , Step Over (F10) и даже Stop - вовсе даже не спроста существуют.
В PHPEdit'e у меня что-то даже получилось , но только он соглашался оттрэйсить только несколько первых строк , показывая внизу все существующие на тот момент переменные и менял их когда я пошагово проходил через строки присваения...
ИМЕННО ПОШАГОВО отлаживание. Только вот здесь не уверен что брекпоинты можно ставить (они совсем даже не должны выходить из скрипта , а лишь приостонавливать его , чтобы можно былобы посмотреть что в каких переменных зранится и почему возникает ошибка).
Но это должно выполняться совместно с прогой DBG (это иконка со спутниковой антеной)!

А просто показать откампилированный код - это ведь совсем даже и не наврот , я когда в нотепаде пишу , просто держу открытый эксплоэр и как что-то написал - нажал Save , Алт+Таб (для перехода в эксплоэр) и F5 (рефрэш) в нём...
И эффект точно такойже!
 

3D-Dragon

Guest
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

В PHPEd мне вполне достаточно того, что я без всякого броузера могу сразу посмотреть, ЧТО будет на выводе. И именно ЭТО его свойство сыграло решающую роль при выборе PHP редактора для профессиональной работы, а перепробовал я их, в свое время, много.
Своим высказыванием я ни в коей мере не хочу приуменьшить достоинства других редакторов. Это моё ИМНО.

Ошибки, это дело такое, что их видно и без пошагового выполнения скрипта.
Я, например, не знаю где мне в моей работе ЭТО бы понадобилось и какое в этом удобство.
Пишу я очень много и не гостевые книги.
Мой текущий рабочий проект РЕВАНШ - букмеркерская контора (еще не законченный) уже сейчас перевалил за 500kb чистого кода.
То что видно на сайте - это маленькая вершина айсберга, так сказать результат (основное это админ-часть, работа людей в офлайне, ну и т.д.).
Пардон, я отвлекся ...
Так вот, я не испытываю абсолютно никаких неудобств от отсутствия "наворотов" трейсера, которые ты описАл.

Может я чего-то недопонимаю, может я привык ТАК работать, может с трейсером производительность работы возрастает в несколько раз ?

Ты объясни мне на пальцах ну на фига тебе этот трейсер в PHP, ну это же не Delphi и не Visual Basic ?

Приведи мне пример кода, где без этого трейсера не двинешься дальше или будешь испытывать сколько-нибудь сильные неудобства в написании/отладке ?
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Revansh.com - хорошая работа!
И по поводу жизни без дебугера - ты тоже прав , но тогда и компиляцию без броузера нельзя считать наворотом - "Зачем она , когда я могу просматривать прямо в броузере потратив на два нажатия на клавиатуре больше" , да и без мышки вполне программист обойтись может...
Это шутка. На самом деле любой наворот или удобство - это хорошо. Конечно можно писать коды без ошибок , но если вдруг где-то что-то не так сработало , то гораздо УДОБНЕЙ просто поставить там брекпоин и посмотреть что было в переменных , и это будет быстрей чем просмотр собственного кода. Согласись , большенство ошибок делаются не из-за непродуманности алгаритма , а из-за опечаток , или таких бональностей , которые хоть 5 раз посмотри на строчку , сразу не заметишь. А если это ещё несколько строк с большими вычислениями...
Можно конечно писать echo... и выводить все переменные. Но гораздо трудней когда тебе это надо что-то расчитать и послать в Header , и ты ничего не имеешь право вывести в на экран. А с дебугером гоооораздо легче...
Да вобщем-то это дело привычки , кто-то любит и привык , а кто-то без этого всю жизнь обходился и не жалеет (правда может просто из-за того , что не знает что потерял? :)
 

snap

Guest
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Для интереса - попробуй PHPCoder(www.phpide.de) или PHP4SE Maguma (www.maguma.com) (последнее - практически то же что и первый редактор, только перекуплен друой фирмой) - там вопросов с отладкой практически нет. Единственно - PHP Coder работает нормально только с DBG версии не выше 2.04, а в этой версии нет модуля php_dbg.dll для PHP версии выше 4.1.

С PHPed пробовал - с отладкой так ничего и не получилось...
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: snap
Единственно - PHP Coder работает нормально только с DBG версии не выше 2.04, а в этой версии нет модуля php_dbg.dll для PHP версии выше 4.1.
Слушай , а ты не могбы переслать ту DBG с которой работает твоя программа (в смысле рабочую версию) или подсказать где ей можно добыть (cc.cron.ru давно приказал долго жить , хотя все по прежнему на него ссылаются)
По поводу версии PHP - я использую 4.0.6 (специально чтобы пошол отладчик)
Кстати по поводу того , что он корректно работает только с версией 2.04 -- в самой инструкции по Maguma написано , что после установки phpinfo должна показать строчку DBG 2.10 -- а у меня стоит 2.10b6 (как я понял магуна запустила тот что шол вместе с PHPEdit)
Вобщем , он сразуже компилтся и выводится (в окне HTML preview результат виден) , но НЕ работает в режиме отладка , а самое главное в окне Output (это рядом с Watches) я нашол зловещую строчку "on start timeout has expired".
Тут наверно что-то не совместимо с тем DBG , что шол вместе с PHPEdit. Может можно уговорить тебя переслать мне твой работающий DBG?
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

ЕСТЬ!
Родные , СПАСИБО , Заработало!!!!!!!!!!!!!
Спасибо SNAP'у и Дракону!

Именно с программой MAGUMA , хотя GBG она подхватывала тот что шол с PHPEdit'ом.
Осталось только сравнить в каком удеобней код писать...
Я думаю это тема для других конференций , но выскажу своё менеие тут.
PHPEd - уже своё отжил , он не развивается (бесплатная версия) , и его постоянные глюки просто вычёркивают его из списка , хотя я с ним очень долго работал.
PHPEdit - мне очень нравилось , и я всё последнее время работал уже с ним. Притензий не имею , всё класно (с HTML иногда даже навязчиво) - вобщем по моему это отличная штука.
Maguma - про неё до сих пор ничего не слышал. Но поработав с ней пол часа , я не нашол ничего чего мне не хваталобы , всё как PHPEdit'e , только отладка (debbuging) работает и меню удобней. И страницы сразу компилит как PHPEd. Вобщем не могу сказать ни одного плохо слова , и кажется , что именно с этим редактором я и продолжу работать дальше...

Спасибо ешё раз всем...
И особое спасибо SNAP'y!
 

3D-Dragon

Guest
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: Роберт
ЕСТЬ!
Родные , СПАСИБО , Заработало!!!!!!!!!!!!!
Спасибо SNAP'у и Дракону!
Именно с программой MAGUMA , хотя GBG она подхватывала тот что шол с PHPEdit'ом.
И особое спасибо SNAP'y!
Присоединяюсь к возгласам ;)
Скачал я эту MAGUMA, буду пробовать :)
Есть вопросы:
1. Я так понял, что она триальная. Как ей продлевать жизнь ?
2. Это Light-версия, а где взять полную или про-, или еще там как она называется ?
 

Роберт

Аналитик
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Для обсуждения Maguma надо наверно создавать отдельную тему , но всёже я наверно выскажу ещё пару своих мыслей относительно этого нового шедевра...

Первая эфария прошла (четыре часа уже работаю в нём).
Попытался в нём продеьагить большой проэкт , и тут он показал свои минусы:
Вопервых не обращая внимания на брэкпоинты он трэйсит построчно. Более того делает это глюкасто , пару раз завис (точнее начал выдавать всякие ошибки в немеренном количестве) при проходе даже через маленький код , причём вначале несколько раз через него прошол нормально , а потом взял и завис , и так несколько раз подряд.
По поводу его подсказок во время написания кода - может с непривычки , но мне уже крепко нехватает того , что он в отличии от PHPEdita не показывает какие типы переменных надо вставлять в функцию (конечно можно сказать что их надо знать низусть , отчасти так оно и есть , но всёже с типами былобы удобней).
Особо огорчило , что он не показывает парные скобки (тоесть наводишь на открывающуюся , и он заодно НЕ показывает где находится закрывающая) , это редко нужно , но было так удобно...
И ещё одно (это наверно по части Дракона) , он оригинально работает с On-Line компиляцией для просмотра во время работы. А именно - если ему указывать что php подключён как cgi , то при нажатии на превью он сразу перекомпилирует страничку и показывает её , но делает это ЖУТКО ДОЛГО (у меня вроде нормальная машина Pentium4 1800Mz 256Mb Win2002 , купил месяц назад , но на то чтобы откомпилить и показать он тратит секунды три!) , а вот если сказать ему что чедать это через Apache - то он не перекомпилирует сам , и ему надо дополнительно нажать клавишу F5 , зато тут уже компилится за сотые доли секунды (и не надо говорить что я придирчив очень , просто я к этому делу уже как к идеальному начал относиться). Кстати в PHPEd тоже была такая неудобность - при переходе в превью он не рефрэшил страницу.

А в остальном он удобен!
Может кто ещё что интересного в нём заметил?
 

3D-Dragon

Guest
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: PHPEdit и Debugging

Автор оригинала: Роберт
Первая эфария прошла (четыре часа уже работаю в нём).
Может кто ещё что интересного в нём заметил?
М-да :(
Я после пол-часа работы с "магнумом" прибил его без сожаления и продолжил работу в PHPEd :)
 

mosunov

Guest
Народ, привет всем, вопрос, можно ли заставить работать PHPEdit 0.7.1.70 c KOI8-R??
Редактор нравится, но я работаю с КОИ и как настроить не нашел....
 
Сверху