繁体   English   中英

如何在PyCharm中进行远程调试

[英]How to remote debug in PyCharm

我现在面临的问题:

  • 我通过SSH在远程主机上部署Python代码
  • 脚本传递一些参数,必须由特定用户运行
  • 我创建的PyCharm运行/调试配置通过SSH通过不同的用户连接(无法与实际运行脚本的用户连接)
  • 我想通过PyCharm远程调试这段代码......我设法做了所有配置,我只是得到权限错误。

有没有什么方法可以作为特定用户运行/调试脚本(如sudo su - user)?

我已经阅读过在PyCharm的远程/调试配置中指定一些Python Interpeter选项,但没有设法获得可行的解决方案。

如果您想要一种简单且更灵活的方式进入PyCharm调试器,而不是必须在PyCharm中单击“播放”按钮,则可以使用调试服务器功能。 我已经在运行某些Python代码并不像运行python ...那样简单的情况下使用了它。

有关更多详细信息,请参阅使用Python调试服务器文档进行远程调试 ,但以下是其工作原理的概述:

  1. 在服务器上上传并安装远程调试助手蛋(在OSX上,可在/Applications/PyCharm.app/Contents/debug-eggs下找到)
  2. 设置远程调试服务器运行配置:单击下拉运行配置菜单,选择Edit configurations... ,点击+按钮,选择Python remote debug
    • 这里输入的详细信息(有点令人困惑)告诉运行Python脚本的远程服务器如何连接到笔记本电脑的PyCharm实例。
    • Local host name设置为笔记本电脑的IP地址
    • port设置为可在笔记本电脑上使用的任何空闲端口(例如8888
  3. 现在按照该对话框中的其余说明操作:将importpydevd.settrace(...)语句复制粘贴到您的代码中,特别是您希望代码“点击断点”的位置。 这基本上是import pdb; pdb.set_trace()的PyCharm等价物import pdb; pdb.set_trace() import pdb; pdb.set_trace() 确保更改的代码与服务器同步。
  4. 点击bug按钮(播放旁边;这将启动PyCharm调试服务器),并像在正常情况下一样运行Python脚本,无论用户,环境等等。当断点被击中时,PyCharm应该进入调试模式。

我有这个(最后)使用ssh RemoteForward打开,如下所示:

ssh -R 5678:localhost:5678 user@<remotehost>

然后在此ssh会话中启动脚本。 python脚本主机必须连接到localhost:5678,当然你的本地pycharm调试器必须监听5678(或你选择的任何端口)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM