我正在尝试在 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(使用 mod python)上运行单个线程。
据我所知,这台机器上没有防火墙
- 是什么阻碍了连接?
- Aptana/pydev 如何接收我开始运行代码的事件?
- Aptana 是否应该以某种方式监听?
- 我是否应该告诉 Aptana “监听”或“启动调试守护进程”?
答案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。
答案2
http://pydev.org/manual_adv_remote_debugger.html
有“启动/停止调试服务器”按钮,它们最初仅在调试视角中可见。
答案3
- 在 eclipse 中(我认为它与 Aptana 相同),转到 Window→Perspective→Customize Perspective。
- 选择“操作集可用性”选项卡并选择与 PyDev 相关的所有内容
- 选择“菜单可见性”选项卡并检查 PyDev
- 选择“工具栏可见性”并检查“PyDev 调试”和“PyDev 导航”。
- 现在转到窗口→透视图→打开透视图→其他...并选择调试
- 点击标记的按钮:
所有问题的答案(据我所知):
pydevd.settrace()
将向已启动的 eclipse 调试服务器发送调试信息。默认情况下,主机为“localhost”,端口为“5678”。
你可以给出更多选项:
pydevd.settrace('localhost/hostname', port=5678, suspend=True, stdoutToServer=False, stderrToServer=False, trace_only_current_thread=True)