1

Я пытаюсь, чтобы удаленная отладка работала в Eclipse (на самом деле Aptana 3).

Я использую один и тот же компьютер для сервера и Aptana (localhost, Ubuntu 12.04)

Мой код выглядит так:

sys.path.append('/opt/aptana_studio_3/plugins/org.python.pydev_2.7.0.2013032300/pysrc')
import pydevd
...
pydevd.settrace()

В Aptana я добавил вышеуказанный каталог в PYTHONPATH.

Нет другого процесса (по-видимому), который запускает settrace. Там только я запускаю один поток на Apache WSGI (с модом Python).

У меня нет брандмауэра на этой машине (AFAIK)

  1. Что блокирует соединение?
  2. Как Aptana/pydev получает событие, когда я начал выполнять код?
  3. Аптана должна как-то слушать?
  4. Должен ли я сказать Аптане "слушать" или "запустить демон отладки"?

3 ответа3

1

Попробуйте с этим:

import sys
    sys.path.append('/vagrant/vagrant_conf/pycharm-debug.egg')
    import pydevd
    pydevd.settrace('192.168.223.8', port=7500, stdoutToServer=True,stderrToServer=True)

Я использую pycharm и мне нужно добавить pycharm-debug.egg (с Aptana я не знаю. IP - это ip моего локального, а не vagrant (серверного) IP.

0
  1. В затмении (я думаю, что это так же, как Aptana), перейдите в Окно → Перспектива → Настроить перспективу.
    1. Перейдите на вкладку «Доступность набора действий» и выберите все, что связано с PyDev.
    2. Перейдите на вкладку «Видимость меню» и проверьте PyDev
    3. Возьмите «Видимость панели инструментов» и проверьте «Отладка PyDev» и «Навигация PyDev».
  2. Теперь перейдите в Window → Perspective → Open Perspective → Other ... и выберите Debug
  3. Нажмите на отмеченную кнопку:

кнопка отладчика

  1. Затем отладчик запускается:
    Консоль отладчика
  2. Теперь запустите сервер и продолжайте отладку.

Ответ на все ваши вопросы (насколько мне известно):

pydevd.settrace() отправит отладочную информацию на сервер отладки затмения, которое вы запустили. По умолчанию host будет 'localhost', а port будет '5678'.

Вы можете дать больше вариантов:

pydevd.settrace('localhost/hostname', port=5678, suspend=True, stdoutToServer=False, stderrToServer=False, trace_only_current_thread=True)
0

http://pydev.org/manual_adv_remote_debugger.html

есть кнопки «Запуск / остановка сервера отладки», и они изначально видны только в перспективе отладки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .