2016-12-15 113 views
2

我需要一個能夠將調試器從PyCharm連接到遠程Python服務器(my similar post, but slightly different subject)。對於遠程調試,PyCharm提供名爲pydevd的lib,但遠程服務器必須連接到具有運行調試服務器的本地計算機。實際上,這並不總是可行的,因爲通常本地機器沒有公共地址。因此,作爲一種解決方案,我決定爲套接字連接進行代理,這會將本地計算機與遠程服務器(我測試過的代理工作)連接起來。爲了使運行中的遠程服務器無需使用活動調試器,我的代理必須存儲連接的服務器的狀態(服務器在斷點處停止;在調試器斷開連接時移除所有斷點)並模擬連接/斷開消息。沒有pydevd協議規範

主要問題是我無法找到pydevd協議的任何規範。

所有我所發現的是:

  • 握手消息(兩個消息的代碼501,用代碼122146101是來歷不明的郵件後)
  • 消息代碼111設置斷點
  • 消息用代碼112來取消設置斷點
  • 消息代碼116發送s tdout

如果有人有同樣的問題,請幫我解決它或幫我找到pydevd協議的規範。

回答

2

pydevd協議沒有完整的規範。但是,實現是開源的,並且可以在source code中找到該協議的簡要說明。

+1

非常感謝,這正是我需要的!對不起,我不能評價你(我還沒有15分)。 –