没有pydevd协议规范

时间:2016-12-15 16:33:39

标签: python debugging pycharm pydev

我需要能够将调试器从PyCharm(my similar post, but slightly different subject)连接到远程Python服务器。对于远程调试,PyCharm提供了名为pydevd的lib,但远程服务器必须连接到运行调试服务器的本地机器。实际上,这并不总是可行的,因为通常本地机器没有公共地址。

作为一个解决方案,我决定为套接字连接建立代理,这将连接我的本地机器和远程服务器(我已经过测试,代理工作)。为了使没有活动调试器的正在运行的远程服务器成为可能,我的代理必须存储已连接服务器的状态(服务器在断点处停止;在调试器断开连接时删除所有断点)和模拟连接/断开消息。

主要问题是我无法找到pydevd协议的任何规范。

我发现的所有内容都是:

  • 握手消息(代码为501的两条消息,在代码为122 146 101的未知消息之后)
  • 消息,代码111设置断点
  • 消息,代码112取消设置断点
  • 带有代码116
  • 消息,用于发送stdout的更改

如果有人有同样的问题,请帮我解决或帮我找到pydevd协议的规范。

1 个答案:

答案 0 :(得分:3)

pydevd协议没有完整的规范。但是,实现是开源的,可以在source code中找到协议的简要说明。