Установка точки останова с Eclipse PDT - PullRequest
3 голосов
/ 16 января 2010

Я СООООООО обескуражен. Это кажется таким простым, но, будучи новичком в Drupal и Eclipse PDT, я абсолютно не знаю, где искать. Мои ДНИ поиска, похоже, указывают на то, что я единственный человек на планете с этой проблемой.

Eclipse IDE для разработчиков PHP (1.2.1.20090918-0703) WampServer версия 2.0 Apache 2.2.11 PHP 5.2.9-2 MySQL 5.1.33 Drupal 6.15 xDebug php_xdebug-2.0.5-5.2.dll

Я настроил свой проект в Eclipse так, чтобы он указывал на мою директорию Drupal (C: \ wamp \ www \ drupal-6.15). Я запускаю отладчик (xdebug) и останавливаюсь на первой строке кода. Я могу шаг за шагом проходить через код - так что я думаю, что я нахожусь в отладчике, и когда я завершаю работу приложения, я вижу сообщение о завершении xdebug в заголовке вкладки.

Но я не могу установить точку останова ни в одном из файлов кода PHP - в частности, в новом файле .module.

Когда я щелкаю правой кнопкой мыши в столбце точек останова слева в index.php (main), я вижу «точку останова переключения» и маленький синий кружок рядом со строкой кода ... так что я думаю, что знаю, как установить точки останова. Но когда я пытаюсь установить точку останова в моем модуле .module, я вижу меню, в котором предлагается «добавить закладку», и не могу установить точку останова.

Почему я не могу установить точку останова в этом файле? Неправильно ли настроен путь к моему проекту? Нужно ли мне изменить мой путь включения? Я не могу заставить Eclipse распознавать даже основные модули, а не только модули сайта / всех модулей. Я видел сообщения об «импорте» файлов в проект и проверке правильности файла php.ini для настройки xdebug. Я потерян.

Существует так много сообщений об использовании Eclipst PDT и xDebug, и все они заканчиваются словами «получайте удовольствие отладки» или «просто установите несколько точек останова и все готово» - но что если вы НЕ МОЖЕТЕ установить точку останова? Есть идеи о том, где затмение потеряно? Где в Eclipse вы можете получить список файлов, которые он включил в свою сборку?

Я думаю, мне просто нужно понять, почему Eclipse не может найти эти модули в пути проекта (т.е. приложения drupal), чтобы позволить мне устанавливать точки останова. Тогда я думаю, что смогу продолжить. Так обескураживает ...

Спасибо всем, кто слушает.

Ответы [ 4 ]

3 голосов
/ 17 января 2010

Спасибо за совет. Я думаю, что я видел ваш аналогичный ответ в другом посте где-то

На самом деле, решение для меня состояло в том, чтобы убедиться, что все стандартные расширения файлов Drupal включены в предпочтения ассоциаций файлов Eclipse: Предпочтения-> Общие-> Типы содержимого-> Текст-> Тип содержимого PHP. По умолчанию используются различные расширения * .php, * .phpX, * .phtml, но не расширения, используемые в модулях Drupal - * .info, * .inc, * .module, * .install и т. Д.

Просто и очевидно, как только вы это поймете. Я удивлен всеми инструкциями по установке Eclipse-xDebug-Drupal, что это не обнаружилось. Много деталей о сопоставлении путей проекта с путями сервера, но ничего об этом.

Надеюсь, моя борьба кому-нибудь поможет. Я многое узнал об Eclipse PDT по пути :-). Удачи.

1 голос
/ 16 сентября 2014

проверьте, открыли ли вы свой файл Java в режиме редактора Java. т.е. ctrl + shift + R, в этом всплывающем окне отметьте кнопку рядом с опцией OPEN и выберите редактор java.

1 голос
/ 17 января 2010

Точки останова сложны в проектах PDT:

Одна вещь, которая меня привлекает, это то, что есть много «недопустимых» мест, где вы устанавливаете контрольные точки. Вы можете поставить точку в IDE, но на этом отладчик не остановится:

  • пустые / не кодированные строки
  • на операторах switch
  • в некоторых типах обратных вызовов (например, preg_replace)

Но для точек останова в файлах .module это должно быть , связанное с проблемой установки .

Я внес следующие изменения в мои настройки:

  • Обновлено с php 5.2.1 до php 5.2.3
  • Установлен клиент отладчика Zend в Eclipse / PDT (теоретически не обязательно из того, что я понимаю, но я решил попробовать)
  • Удостоверился, что файлы Drupal полностью импортированы в мой проект, а не только как ссылки на библиотеки включения.

Я сделал этот последний шаг после того, как создал крошечный тестовый пример и обнаружил, что отладчик может остановиться на точке останова во внешне включенном файле, только если этот файл был импортирован в проект, а не если на него ссылались как на часть каталога включаемой библиотеки.
На мой взгляд, это похоже на ошибку - отладчик, безусловно, мог видеть, что файлы в каталогах включаемых библиотек были исходными файлами, и он позволял мне устанавливать в них точки останова, поэтому, похоже, он должен на них остановиться.
(Для сравнения из отдельной (java) IDE IntelliJ позволит вам определять точки останова в файлах jar, пока вы указываете, где находится источник. Как только вы определили его, он остановится на нем.)

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

0 голосов
/ 05 января 2011

Проблема невозможности установить точку останова может возникнуть, если вы недавно создали файл. Вы должны закрыть и снова открыть файл, чтобы он был распознан как исходный файл, который можно отлаживать, и включил выделение кода.

...