Eclipse ide php настройка
Отладка программного обеспечения самая ненавистная работа доля разработчика. Большинство используют для отладки связку echo(print_r,var_dump) и exit(die), переходя от одной строке к другой. Однако, если ошибка появляется вновь в этом файле, требуется заново прописывать отладочные команды. Можно конечно отладку обернуть внутри конструкции if, которая будет работать только, когда определена какая-либо константа, например DEBUG. Но каждый такой if будет слегка замедлять производительность, да и смотреться будет в коде очень ужасно.
Как мы уже изучили во второй части нашего повествования, наличие xdebug позволяет нам создавать логи трассировки, достаточно хороший выход для данной ситуации, вам не надо будет изменять программу. Однако лог трассировки, особенно когда он создан для части программы, предоставляет нам много информации, не имеющей никакого отношения к отладке, таким образом, использование отладчика это оптимальное решение. Отладчик позволит вам остановить запуск программы на некоторое время, проверить или модифицировать текущее значение переменной, а затем продолжить выполнение программы. Запуская программу шаг за шагом, вы можете близко взглянуть как выполняется ваш код, что поможет найти вам места ошибок.
До появления функции var_dump, отладка приложений в PHP была проблематичной, если у вас не было денег для покупки коммерческого IDE, который поддерживал отладку. С выходом xdebug проблема отладки приложений теоретически была решена. Я написал теоретически потому что не существует хорошего и бесплатного клиента для отладки как для Windows, так и для Unix.
Однако и эта проблема была решена с выходом Eclipse PDT. Eclipse PDT это бесплатный IDE для PHP поддерживающий xdebug. Поэтому давайте, не торопясь, рассмотрим установку Eclipse PDT для того чтобы начать отладку.
Установка Eclipse PDT
Как работает отладка
До того как мы погрузимся в конфигурирование xdebug и Eclipse PDT, давайте рассмотрим как работает отладка в PHP с использованием xdebug. Это поможет вам лучше понять те параметры конфигурации, которые мы будем обсуждать позже.
Когда отладка включена в php.ini, xdebug начинает контролировать выполнение программы, это значит, что xdebug может останавливать выполнение программы в любой момент, а потом запускать ее с точки останова. Когда выполнение программы остановлено, xdebug может получить информацию о текущем состоянии программы, например прочитать текущие значения переменных. Также xdebug представляет возможность изменять значения переменных во время выполнения скрипта.
Расширение xdebug – это сервер, ожидающие соединений с клиентами на определенном порту, задаваемом в конфигурации. Существует два протокола, которые могут быть использованы для коммуникации между xdebug-клиентом и xdebug-сервером (GDB и DBGp). GDB – это старый протокол, который был заменен на DBGp. Посылая команды серверу-xdebug, xdebug-клиент удаленно контролирует выполнение, сообщает PHP о приостановке запуска, выполнении следующей строчки кода или продолжении выполнения программы. Клиент обычно встроен в редактор или IDE (в нашем случае в Eclipse PDT), поэтому вы не будете иметь дело с протоколом общения напрямую.
Веб-сервер с xdebug может быть запущен на другой операционной системе, нежели xdebug-клиент. Вот почему xdebug называется удаленным отладчиком(remote debugger). Для упрощения, мы настроим сервер и клиент на одном и том же компьютере.
Существует два режима начала сессии отладки. Эти режимы контролируются в php.ini настройкой xdebug.remote_mode. Значение по умолчанию req, xdebug-клиент будет соединятся с сервером всякий раз когда начинается выполнение скрипта. Если вы хотите, чтобы xdebug соединялся с сервером только тогда, когда установлен breakpoint или когда в скрипте возникла ошибка, вы можете установить xdebug.remote_mode в jit. Я рекомендую оставить значение по умолчанию, это избавит вас от модификации php.ini .
Для того чтобы начать отладку, вы должны послать параметр XDEBUG_SESSION_START в скрипт как часть GET, POST или COOKIE. Значение этого параметра это название сессии отладки, которое должно быть уникальным, по имени сессии xdebug может различать различные сессии, запущенные параллельно. Для завершения сессии отладки необходимо послать скрипту команду XDEBUG_SESSION_STOP.
Вместо того чтобы вручную начинать и заканчивать отладочные сессии, вы можете установить специальный firefox plugin, который поможет вам легко начинать и заканчивать сессии одним нажатием мышки.
Используя Eclipse PDT, вам не придется беспокоится по поводу плагина для браузера, так как IDE берет на себя отправку необходимых параметров.
Настройка xdebug
Сейчас давайте приступим к настройки отладки. Добавьте следующие настройки в php.ini:
xdebug.remote_enable=On
xdebug.remote_host=«localhost»
xdebug.remote_port=9000
xdebug.remote_handler=«dbgp»
Настройка Eclipse PDT
Создайте новый PHP проект в Eclipse PDT. Пусть он называется debug_test. Создайте файл debug.php в проекте, добавьте немного кода и сохраните файл.
Сейчас давайте настроим Eclipse для отладки. Во-первых, мы настроим Eclipse для запуска проектов во внешнем браузере в замен внутреннего. Когда это будет настроено, все сессии отладки будут запущены во внешнем браузере. Использование внешнего браузера не является обязательным, однако я предпочитаю работать в Firefox вместо внутреннего браузера Eclipse. Выберите Window в меню, затем Preferences (см. скриншот внизу). Откройте поддерево General, и выберите Web Browser. Теперь отметьте Use external browser и нажмите Apply.
Eclipse PDT поддерживает как Zend debugger так и xdebug. По умолчанию выбран Zend debugger. Для изменения откройте поддерево PHP, затем поддерево Debug. Затем измените PHP debugger на Xdebug и нажмите Apply.
Теперь, выберите Run в меню и выберите Open Debug Dialog. Затем, дважды кликните на PHP Web Page для создания новой конфигурации отладки.
Вы будите видеть три вкладки: Server, Advanced и Common. Выберите Xdebug как Server Debugger. В поле File / Project вы должны выбрать путь к скрипту, котрый вы хотите отладить. Путь должен быть относительный к текущему workspace. В моей системе это /debug_test/debug.php. Нажмите Browse и выберите debug.php в каталоге debug_test.
Eclipse необходимо знать URL, соответствующий исходному скрипту и пути, по которому вы его вызываете. Это требуется для подсветки текущей выполняемой строки в исходном коде. Текстовое поле URL показывает URL, соответствующий названию скрипта. По умолчанию поле URL неактивно, так как активен флажок Auto Generate. Если указываемый URL не соответствует URL, который вы ввели в File / Project, снимите Auto Generate и введите правильный URL в текстовое поле URL. Если данный скрипт требует GET-параметров, вы можете ввести их в данное поле.
Не забывайте нажимать Apply для сохранения изменений. Следующий скриншот показывает как конфигурация выглядит на моей системе:
Выберите вкладку Advanced и проверьте, выбраны ли Open in Browser и Debug All Pages. Теперь можно закрыть окно настроек и начать отладку.
Отладка PHP скрипта
Для начала отладки PHP-скрипта, выберите Run-> Debug (или нажмите F11). Eclipse спросит вас, где вы хотите видеть отладочную информацию.
Следующий скриншот показывает окно отладки Eclipse моего debug.php:
Eclipse открывает браузер. Вы не сможете ничего увидеть, потому что Eclipse по умолчанию останавливает выполнение скрипта на первой строке, как будто бы на этой строке была установлена точка останова. Если вы хотите отключить такое поведение, снимите флажок Break at First Line в секции Breakpoint в диалоге отладки в окне настроек.
Как показано на скриншоте, вы видите исходный код отлаживаемого файла, текущая строка выполняемой программы отмечена стрелочкой. В верхней правой области вы можете выбрать несколько вкладок. Вкладка Variables показывает значения всех переменных в данной области видимости. Суперглобальные переменные валидны во всех областях видимости, пойэтому они всегда будут отображаться. Вкладка Breakpoints позволяет видеть и редактировать все точки останова в вашем скрипте. Eclipse запомнит все точки останова из вашего кода, всякий раз когда вы закрываете и перестартуете Eclipse.
Вы можете продолжить выполнение программы до следующей точки останова, выполнить одну строчку кода, войти в следующую функцию или выйти из функции кликнув на соответствующую кнопку Debug в левой верхней области. Пошаговый проход очень полезен, когда вы пытаетесь локализовать место ошибки в вашем коде. Вы можете видеть как меняются значения переменных на каждом шаге.
Изменение переменных во время выполнения
Вы также можете изменять значения переменных во время выполнения. Для изменения переменной, кликните на текущее значение, измените его и нажмите Enter.
Точки останова
Точка останова приостанавливает выполнение программы и позволяет вам подробно рассмотреть состояние переменных, затем продолжить выполнение программы. Выполнение программы также останавливается, когда в программе выпадает исключение. Для установки точки останова, нажмите правую кнопку мыши на строке, затем выберите Toggle Breakpoints в контекстном меню. Вы можете удалить точку остановатаким же образом или удалить во вкладке Breakpoints.
Вы также можете добавить точки останова по условию (conditional breakpoint). Такие точки останова будут приостанавливать выполнение программы только тогда, когда выполнится условие. Это может быть очень полезно, когда некоторый кусочек кода выполняется много раз с различными параметрами на входе. Для добавления подобной точки останова, нажмите правую кнопку мышки на изображении точки останова, выберите Breakpoint Properties.
Проверьте флаг Enable Set Condition и введите условие в текстовое поле. в моем debug.php функция test() вызывается в строке 11, и точка останова установлена в этой строке. Если мы добавим условие $a!= '' xdebug остановит выполнение программы в этой строке только когда локальная переменная a будет не пуста.
Для окончания отладки, нажмите кнопку Terminate на панели Remote Launch. Если Eclipse запускает скрипт в внешнем браузера, просто закройте его окно.
Заключение
Удаленная отладка – это интерактивный и ненавязчивый путь поиска ошибок в ваших программах. Вместо вставки вызовов var_dump() в код или анализа лога трассировки на предмет отслеживания значений переменных, отладка предоставляет вам вид «под микроскопом» каждого участка вашей программы.
Следующая статья будет посвящена созданию объемлющей статистики, используя xdebug.
В данной теме я постараюсь объяснить как настроить и подготовить Eclipse для разработки PHP приложений, в том числе и расширений для Joomla. Существует множество различных сред разработки (IDE) для PHP разработчиков, самая популярная, наверное, является PhpStorm, разработанный компанией JetBrains. Но он является коммерческим продуктом. В отличие от него Eclipse является бесплатным продуктом и предоставляет практически те же возможности. что и PhpStorm.
Введение
IDE -(англ. IDE, Integrated development environment или integrated debugging environment) — система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Наверное существуют еще энтузиасты, которые продолжают писать свой код в Notepad++ и утверждают, что лучше него ничего нет. Но поверьте, хорошая IDE значительно упрощает процесс разработки и главное сокращает время разработки в разы, а время как говориться - это деньги.
В первый раз когда я увидел Eclipse, то с круглыми глазами смотрел на него и смутно представлял что это. На русском языке документации по нему было совсем мало, учитывая что я не очень владею английским, пытался разобраться хоть как-то с переводчиком. По началу, конечно, не все получалось, но со временем, разобравшись во всем, я даже не представляю процесс разработки без этого инструмента. А основные трудности возникают как раз на начальном этапе - в процессе установки и создания первого проекта. Собственно это и побудило меня написать данную статью, что бы хоть как-то помочь начинающим разработчикам на начальном этапе. Так как и на данный момент толковой документации на русском языке нет, а если и есть, то она затрагивает старые версии Eclipse.
Установка и настройка Eclipse для PHP разработчиков
Хочу сразу предупредить - для нормальной работы в Eclipse потребуется довольно мощный ПК. На стареньких компьютерах с 1 Гб оперативной памяти и слабыми процессорами работа в нем скорее всего превратиться в муку. Говорю это по личному опыту.
Eclipse написан на Java и не имеет собственного компилятора, поэтому перед установкой Eclipse необходимо установить на компьютер JDK (Java Development Kit). Загрузить установочный пакет можно на сайте разработчика по следующей ссылке - http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html Нужно установить "Java SE Development Kit 7u21" для своей операционной системы. После этого можно приступить к загрузке пакета Eclipse.
После первого запуска появиться окно, в котором нужно выбрать директорию для рабочего места. В этой директории будет храниться информация о конфигурации и ваших проектов.
Нажимаем кнопку "ОК". После этого вы попадаете на страницу приветствия Eclipse, здесь нужно нажать кнопку "Workbench" для того чтобы попасть непосредственно в среду разработки.
Рабочая среда разработки Eclipse
Если вы устанавливали Eclipse Classic, то вам необходимо установить еще PDT (PHP Development Tools) - пакет расширений для PHP разработчиков. Для этого зайдите в меню и "Help" выберите пункт "Install New Spftware.. "
В появившемся окне выберите следующий сервер загрузок - "Juno - http://download.eclipse.org/releases/juno"
После чего в основном окне должен появиться список дополнения для Eclipse. В этом списке нужно выбрать "Programming Languages" -> " PHP Development Tools (PDT)" И нажать кнопку "Next"
Дальше так же нажимаем "next", принимаем соглашение и устанавливаем пакет. После установки будет предложение перезапустить Eclise - соглашаемся и перезапускаем.
На этом ваше рабочее место готово к начальной работе.
Работа в Eclipse и Joomla
Для начала нужно создать новый проект. Для этого зайдите в меню "File" -> "New", если PDT устанавливали самостоятельно, то в этом списке пока не будет "PHP Project"
В появившемся окне выбираем "PHP" -> "PHP Project"
Далее в появившемся окне указываем любое название проекта и выбираем "Create project at existing location", нажимаем кнопку "Browse. " и выбираем директорию, где установлена Joomla, либо нужно указать этот путь самостоятельно. Так же в этом проекте можно указать используемую версию PHP. После того как все пути указаны нажимаем кнопку "Finish".
Eсли PDT устанавливали самостоятельно, то должно появиться следующее диалоговое окно
В этом диалоговом окне предлагается открыть перспективу (рабочую среду) PHP. Выбираем "Yes". После этого проект должен импортироваться в среду Eclipse, получится следующий вид
На этом ваше рабочее место готово к работе и можно использовать все возможности и прелести Eclipse. Описывать их тут не имеет смысла, так как их очень много. Я подобрал некоторое видео, которое наглядно демонстрирует эти возможности, конечно, не все, но хотя бы основные моменты.
Github Joomla и Eclipse
Для работы с github в Eclipse я использую дополнение - EGit. Установить его можно так же как и был описан процесс установки PDT выше. Находиться оно здесь
После установки нужно открыть вид репозиториев гит. Для этого нужно открыть меню "Window" -> "Show View" -> "Other"
В диалоговом окне выбрать гит репозитории
Внизу должен появиться вид репозиториев.
Нажимаем кнопку "Clone a Git Repository", т.е. будем клонировать репозиторий себе на компьютер. Затем в диалоговом окне вводим в поле URI следующий урл - "https://github.com/joomla/joomla-cms.git", все остальные значения должны подставиться автоматически
Нажимаем кнопку "Next". Затем должно появиться окно с ветками Joomla, все ветки не обязательно выбирать, достаточно выбрать "master", т.е. ту что разрабатывается на данный момент. Нажимаем кнопку "Next".
В следующем окне нужно указать свою директорию "localhost". В эту директорию будут копироваться файлы из репозитория.
После того как файлы были скопированы, создаем новый проект, как было описано выше. В качестве директории указываем директорию куда клонировали гит репозиторий.
После того когда проект был создан, выбираем его и кликаем правой кнопкой мышью на нем. Выбираем "Team" -> "Share Project"
Далее выбираем Git и нажимаем "Next"
В следующем окне ничего не меняем, нажимаем кнопку "Finish"
Затем вы можете установить Joomla, процесс установки ничем не отличается от стандартной установки. Набираете в браузере http://localhost/"Директория куда был клонирован репозиторий", в моем случае - это http://localhost/joomla-cms и следуете дальнейшим указаниям. Единственным отличием здесь будет то, что после установки вам не надо будет удалять директорию "installation". Разработчики позаботились об этом и что бы каждый раз эта директория не клонировалась с гит репозитория они убрали проверку на наличие этой директории.
Таким образом после всех этих манипуляций вы получаете рабочий проект, который будет подключен к репозиторию CMS Joomla. Вы сможете обновляться непосредственно с него, а так же просматривать историю изменений и быть всегда в курсе последних изменений. Обратите так же внимание, что обновления не будут затрагивать данные в БД, а они будут касаться только файлов.
Обновление файлов с git репозитория Joomla
Нажимаем на проекте правой кнопкой мыши переходим на вкладку "Team" должен появиться следующий вид
В этом окне предоставлены все возможные команды для работы с git репозиторием. Но так как нам нужно только переодически обновлять файлы и следить за изменениями, то потребуется только одна команда - "Pull". С помощью нее к вам на локальный компьютер будут копироваться все изменения с гит репозитория.
Стоит так же отметить, что не стоит изменять стандартные файлы из репозитория, т.к. это может привести к конфликту при следующем "Pull". Для быстрого "сброса" существует команда "Reset..", с помощью которой можно заменить все измененные файлы из репозитория. Для этого в появившемся окне указываем следующие настройки
Нажимаем кнопку "Reset", затем появиться предупреждение о том что файлы на компьютере будут изменены, нажимаем кнопку "Yes".
Так же можно заменять отдельные директории и файлы из репозитория. Для этого выберете нужную директорию или файл в проекте, так же нажмите на нем правую кнопку мыши и проделываем следующие действие
Просмотр истории из git Joomla
Просмотреть историю изменений можно как по всему проекту в целом, так и по отдельным директория и файлам. Для этого так же кликаем правой кнопкой мышью в нужном месте а выбираем "Team" -> "Show ih History" после чего откроется вид истории, где можно посмотреть описание "коммитов", обычно в нем указывается id из баг трекера, что, где и когда было изменено.
Отладка программного обеспечения самая ненавистная работа доля разработчика. Большинство используют для отладки связку echo(print_r,var_dump) и exit(die), переходя от одной строке к другой. Однако, если ошибка появляется вновь в этом файле, требуется заново прописывать отладочные команды. Можно конечно отладку обернуть внутри конструкции if, которая будет работать только, когда определена какая-либо константа, например DEBUG. Но каждый такой if будет слегка замедлять производительность, да и смотреться будет в коде очень ужасно.
Как мы уже изучили во второй части нашего повествования, наличие xdebug позволяет нам создавать логи трассировки, достаточно хороший выход для данной ситуации, вам не надо будет изменять программу. Однако лог трассировки, особенно когда он создан для части программы, предоставляет нам много информации, не имеющей никакого отношения к отладке, таким образом, использование отладчика это оптимальное решение. Отладчик позволит вам остановить запуск программы на некоторое время, проверить или модифицировать текущее значение переменной, а затем продолжить выполнение программы. Запуская программу шаг за шагом, вы можете близко взглянуть как выполняется ваш код, что поможет найти вам места ошибок.
До появления функции var_dump, отладка приложений в PHP была проблематичной, если у вас не было денег для покупки коммерческого IDE, который поддерживал отладку. С выходом xdebug проблема отладки приложений теоретически была решена. Я написал теоретически потому что не существует хорошего и бесплатного клиента для отладки как для Windows, так и для Unix.
Однако и эта проблема была решена с выходом Eclipse PDT. Eclipse PDT это бесплатный IDE для PHP поддерживающий xdebug. Поэтому давайте, не торопясь, рассмотрим установку Eclipse PDT для того чтобы начать отладку.
Установка Eclipse PDT
Как работает отладка
До того как мы погрузимся в конфигурирование xdebug и Eclipse PDT, давайте рассмотрим как работает отладка в PHP с использованием xdebug. Это поможет вам лучше понять те параметры конфигурации, которые мы будем обсуждать позже.
Когда отладка включена в php.ini, xdebug начинает контролировать выполнение программы, это значит, что xdebug может останавливать выполнение программы в любой момент, а потом запускать ее с точки останова. Когда выполнение программы остановлено, xdebug может получить информацию о текущем состоянии программы, например прочитать текущие значения переменных. Также xdebug представляет возможность изменять значения переменных во время выполнения скрипта.
Расширение xdebug – это сервер, ожидающие соединений с клиентами на определенном порту, задаваемом в конфигурации. Существует два протокола, которые могут быть использованы для коммуникации между xdebug-клиентом и xdebug-сервером (GDB и DBGp). GDB – это старый протокол, который был заменен на DBGp. Посылая команды серверу-xdebug, xdebug-клиент удаленно контролирует выполнение, сообщает PHP о приостановке запуска, выполнении следующей строчки кода или продолжении выполнения программы. Клиент обычно встроен в редактор или IDE (в нашем случае в Eclipse PDT), поэтому вы не будете иметь дело с протоколом общения напрямую.
Веб-сервер с xdebug может быть запущен на другой операционной системе, нежели xdebug-клиент. Вот почему xdebug называется удаленным отладчиком(remote debugger). Для упрощения, мы настроим сервер и клиент на одном и том же компьютере.
Существует два режима начала сессии отладки. Эти режимы контролируются в php.ini настройкой xdebug.remote_mode. Значение по умолчанию req, xdebug-клиент будет соединятся с сервером всякий раз когда начинается выполнение скрипта. Если вы хотите, чтобы xdebug соединялся с сервером только тогда, когда установлен breakpoint или когда в скрипте возникла ошибка, вы можете установить xdebug.remote_mode в jit. Я рекомендую оставить значение по умолчанию, это избавит вас от модификации php.ini .
Для того чтобы начать отладку, вы должны послать параметр XDEBUG_SESSION_START в скрипт как часть GET, POST или COOKIE. Значение этого параметра это название сессии отладки, которое должно быть уникальным, по имени сессии xdebug может различать различные сессии, запущенные параллельно. Для завершения сессии отладки необходимо послать скрипту команду XDEBUG_SESSION_STOP.
Вместо того чтобы вручную начинать и заканчивать отладочные сессии, вы можете установить специальный firefox plugin, который поможет вам легко начинать и заканчивать сессии одним нажатием мышки.
Используя Eclipse PDT, вам не придется беспокоится по поводу плагина для браузера, так как IDE берет на себя отправку необходимых параметров.
Настройка xdebug
Сейчас давайте приступим к настройки отладки. Добавьте следующие настройки в php.ini:
xdebug.remote_enable=On
xdebug.remote_host=«localhost»
xdebug.remote_port=9000
xdebug.remote_handler=«dbgp»
Настройка Eclipse PDT
Создайте новый PHP проект в Eclipse PDT. Пусть он называется debug_test. Создайте файл debug.php в проекте, добавьте немного кода и сохраните файл.
Сейчас давайте настроим Eclipse для отладки. Во-первых, мы настроим Eclipse для запуска проектов во внешнем браузере в замен внутреннего. Когда это будет настроено, все сессии отладки будут запущены во внешнем браузере. Использование внешнего браузера не является обязательным, однако я предпочитаю работать в Firefox вместо внутреннего браузера Eclipse. Выберите Window в меню, затем Preferences (см. скриншот внизу). Откройте поддерево General, и выберите Web Browser. Теперь отметьте Use external browser и нажмите Apply.
Eclipse PDT поддерживает как Zend debugger так и xdebug. По умолчанию выбран Zend debugger. Для изменения откройте поддерево PHP, затем поддерево Debug. Затем измените PHP debugger на Xdebug и нажмите Apply.
Теперь, выберите Run в меню и выберите Open Debug Dialog. Затем, дважды кликните на PHP Web Page для создания новой конфигурации отладки.
Вы будите видеть три вкладки: Server, Advanced и Common. Выберите Xdebug как Server Debugger. В поле File / Project вы должны выбрать путь к скрипту, котрый вы хотите отладить. Путь должен быть относительный к текущему workspace. В моей системе это /debug_test/debug.php. Нажмите Browse и выберите debug.php в каталоге debug_test.
Eclipse необходимо знать URL, соответствующий исходному скрипту и пути, по которому вы его вызываете. Это требуется для подсветки текущей выполняемой строки в исходном коде. Текстовое поле URL показывает URL, соответствующий названию скрипта. По умолчанию поле URL неактивно, так как активен флажок Auto Generate. Если указываемый URL не соответствует URL, который вы ввели в File / Project, снимите Auto Generate и введите правильный URL в текстовое поле URL. Если данный скрипт требует GET-параметров, вы можете ввести их в данное поле.
Не забывайте нажимать Apply для сохранения изменений. Следующий скриншот показывает как конфигурация выглядит на моей системе:
Выберите вкладку Advanced и проверьте, выбраны ли Open in Browser и Debug All Pages. Теперь можно закрыть окно настроек и начать отладку.
Отладка PHP скрипта
Для начала отладки PHP-скрипта, выберите Run-> Debug (или нажмите F11). Eclipse спросит вас, где вы хотите видеть отладочную информацию.
Следующий скриншот показывает окно отладки Eclipse моего debug.php:
Eclipse открывает браузер. Вы не сможете ничего увидеть, потому что Eclipse по умолчанию останавливает выполнение скрипта на первой строке, как будто бы на этой строке была установлена точка останова. Если вы хотите отключить такое поведение, снимите флажок Break at First Line в секции Breakpoint в диалоге отладки в окне настроек.
Как показано на скриншоте, вы видите исходный код отлаживаемого файла, текущая строка выполняемой программы отмечена стрелочкой. В верхней правой области вы можете выбрать несколько вкладок. Вкладка Variables показывает значения всех переменных в данной области видимости. Суперглобальные переменные валидны во всех областях видимости, пойэтому они всегда будут отображаться. Вкладка Breakpoints позволяет видеть и редактировать все точки останова в вашем скрипте. Eclipse запомнит все точки останова из вашего кода, всякий раз когда вы закрываете и перестартуете Eclipse.
Вы можете продолжить выполнение программы до следующей точки останова, выполнить одну строчку кода, войти в следующую функцию или выйти из функции кликнув на соответствующую кнопку Debug в левой верхней области. Пошаговый проход очень полезен, когда вы пытаетесь локализовать место ошибки в вашем коде. Вы можете видеть как меняются значения переменных на каждом шаге.
Изменение переменных во время выполнения
Вы также можете изменять значения переменных во время выполнения. Для изменения переменной, кликните на текущее значение, измените его и нажмите Enter.
Точки останова
Точка останова приостанавливает выполнение программы и позволяет вам подробно рассмотреть состояние переменных, затем продолжить выполнение программы. Выполнение программы также останавливается, когда в программе выпадает исключение. Для установки точки останова, нажмите правую кнопку мыши на строке, затем выберите Toggle Breakpoints в контекстном меню. Вы можете удалить точку остановатаким же образом или удалить во вкладке Breakpoints.
Вы также можете добавить точки останова по условию (conditional breakpoint). Такие точки останова будут приостанавливать выполнение программы только тогда, когда выполнится условие. Это может быть очень полезно, когда некоторый кусочек кода выполняется много раз с различными параметрами на входе. Для добавления подобной точки останова, нажмите правую кнопку мышки на изображении точки останова, выберите Breakpoint Properties.
Проверьте флаг Enable Set Condition и введите условие в текстовое поле. в моем debug.php функция test() вызывается в строке 11, и точка останова установлена в этой строке. Если мы добавим условие $a!= '' xdebug остановит выполнение программы в этой строке только когда локальная переменная a будет не пуста.
Для окончания отладки, нажмите кнопку Terminate на панели Remote Launch. Если Eclipse запускает скрипт в внешнем браузера, просто закройте его окно.
Заключение
Удаленная отладка – это интерактивный и ненавязчивый путь поиска ошибок в ваших программах. Вместо вставки вызовов var_dump() в код или анализа лога трассировки на предмет отслеживания значений переменных, отладка предоставляет вам вид «под микроскопом» каждого участка вашей программы.
Следующая статья будет посвящена созданию объемлющей статистики, используя xdebug.
Я не буду долго рассказывать, что такое Eclipse и чем она хороша. Лучше меня вам об этом расскажет Википедия. Главное, что это бесплатная, высококачественная среда разработки, позволяющая с большим удобством работать над различными программными проектами как в одиночку, так и в группе. Для многих программеров это стандарт.
Приступаем к установке
Установка виртуальной машины Java (1)
Далее выбираем версию дистрибутива в зависимости от установленной у вас операционки (32/64 бит). Не забудьте принять условия лицензии:
Установка виртуальной машины Java (2)
Установка Eclipse PDT (2)
Установка Eclipse PDT (6)
Установка Eclipse PDT (7)
Нажимаем кнопку Обзор, находим и открываем eclipse.exe. Теперь Eclipse в списке доступных программ:
Установка Eclipse PDT (8)
Обновление Eclipse
-
Сразу после установки рекомендуется установить последние обновления. Для этого открываем пункт меню Help -> Check for Updates.
В списке доступных обновлений отмечаем нужные (а нужны как правило все из доступных) и жмем Next:
Русификация
Русификация Eclipse (1)
Читайте также: