【发布时间】:2017-05-01 08:15:48
【问题描述】:
我需要能够将调试器从 PyCharm (my similar post, but slightly different subject) 即时连接到远程 Python 服务器。对于远程调试,PyCharm 提供了名为 pydevd 的库,但远程服务器必须连接到本地机器并运行调试服务器。实际上,这并不总是可行的,因为通常本地机器没有公共地址。
因此,作为一种解决方案,我决定为套接字连接创建代理,它将我的本地计算机与远程服务器链接(我已经测试过,代理工作)。为了在没有活动调试器的情况下运行远程服务器成为可能,我的代理必须存储连接服务器的状态(服务器是否在断点处停止;当调试器断开连接时删除所有断点)并模拟连接/断开连接消息。
主要问题是我找不到 pydevd 协议的任何规范。
我发现的都是:
- 握手消息(两条消息,代码为
501,之后是未知消息,代码为122146101) - 使用代码
111设置断点的消息 - 使用代码
112取消设置断点的消息 - 使用代码
116发送标准输出更改的消息
如果有人遇到同样的问题,请帮我解决或帮我找到pydevd协议的规范。
【问题讨论】:
标签: python debugging pycharm pydev