如何在 PyCharm 中远程调试

2023-11-25

我现在面临的问题是:

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

有什么方法可以让我以特定用户身份运行/调试脚本(例如 sudo su - 用户)?

我读过有关在 PyCharm 远程/调试配置中指定一些 Python 解释器选项的信息,但没有设法获得有效的解决方案。


如果您想要一种简单且更灵活的方式进入 PyCharm 调试器,而不必在 PyCharm 中使用一键“播放”按钮,您可以使用调试服务器功能。我在运行某些 Python 代码不像运行那么简单的情况下使用过这个python ....

See 使用 Python 调试服务器进行远程调试文档了解更多详细信息,但这里是其工作原理的粗略总结:

  1. 在您的服务器上上传并安装远程调试助手 Egg(在 OSX 上,这些位于/Applications/PyCharm.app/Contents/debug-eggs)
  2. Setup remote debug server run configuration: click on the drop-down run configuration menu, select Edit configurations..., hit the + button, choose Python remote debug.
    • 此处输入的详细信息(有些令人困惑)告诉运行 Python 脚本的远程服务器如何连接到笔记本电脑的 PyCharm 实例。
    • set Local host name到您笔记本电脑的IP地址
    • set port到您可以在笔记本电脑上使用的任何空闲端口(例如8888)
  3. 现在按照该对话框中的其余说明进行操作:复制粘贴import and pydevd.settrace(...)语句到您的代码中,特别是您希望代码“命中断点”的地方。这基本上相当于 PyCharm 的import pdb; pdb.set_trace()。确保更改后的代码已同步到您的服务器。
  4. 点击 bug 按钮(接下来播放;这将启动 PyCharm 调试服务器),然后像平常一样在任何用户、环境等下运行 Python 脚本。当断点被击中时,PyCharm 应进入调试模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PyCharm 中远程调试 的相关文章

随机推荐