Remote debugging with pydev > pydevd > "connection refused". Why?

6518
Berry Tsakala

I'm trying to have remote debugging working in Eclipse (actually Aptana 3).

I'm using the same computer both for server and Aptana (localhost, ubuntu 12.04)

My code looks like this:

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

In Aptana, I added the above directory to PYTHONPATH.

There's no other process (aparently) that runs settrace. There's only me running a single thread on apache WSGI (with mod python).

I don't have firewall on this machine (AFAIK)

  1. What is blocking the connection?
  2. How does Aptana/pydev receive the event that I started running the code?
  3. Is Aptana supposed to be listening somehow?
  4. Am I supposed to tell Aptana to "listen" or to "start a debugging daemon"?
1

3 ответа на вопрос

1
Pentux

Try with this:

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) 

I use pycharm and I need append pycharm-debug.egg (with Aptana I don't know. IP is ip of my local, not vagrant (server) IP.

0
Berry Tsakala

http://pydev.org/manual_adv_remote_debugger.html

there are "Start/stop debugging server" buttons, and they're initially visible only in debugging perspective.

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

debugger button

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

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

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

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

pydevd.settrace('localhost/hostname', port=5678, suspend=True, stdoutToServer=False, stderrToServer=False, trace_only_current_thread=True) 
@ Скотт tankxx человек padippist 7 лет назад 0