debugging 如何使用IntelliJ远程调试Python?

eqoofvh9  于 2023-01-17  发布在  Python
关注(0)|答案(1)|浏览(266)

有没有一种方法可以用IntelliJ远程调试Python3?我找不到任何选项。使用VS代码,就像有这样一个文件一样简单:

启动. JSON
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Remote Attach",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "172.18.0.5",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "."
                }
            ],
            "justMyCode": true
        }
    ]
}

而且一切都像(py)魅力一样工作!
我怎么能用IntelliJ做到这一点?
我检查了JetBrains的所有教程,但似乎没有一个符合我正在搜索的内容。

eyh26e7m

eyh26e7m1#

IntelliJ IDEA和PyCharm都支持使用Python进行远程调试,只需按照下面的指南操作即可:
https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html
如果你使用IntelliJ IDEA,你可以先安装Python插件,通过设置〉插件〉市场,输入Python,然后点击安装按钮。
下面是关于使用Python远程调试服务器配置进行远程调试的分步指南https:www.jetbrains.com/help/pycharm/remote-debugging-with-product.html#remote-debug-config:
1.让IDEA/PyCharm在本地运行IDE的计算机上托管调试器服务器:
注意:这一步与VS Code相比有很大的不同(抱歉,我对这个工具知之甚少),在VS Code中它使用的是https://github.com/microsoft/debugpy包,但它首先会调用python -m debugpy --listen 0.0.0.0:5678 ./myscript.py在远程机器/docker上创建一个调试服务器,然后客户端(这里是VS Code)连接到它。Python调试服务器正在侦听本地计算机,远程脚本将连接到IDE的服务器。
从主菜单中选择运行|编辑配置...."运行/调试配置“对话框打开。您必须单击工具栏上的”添加配置“,然后从可用配置列表中选择Python调试服务器

请将端口更改为0到65535之间的其他数字,默认值0在此处不起作用,然后记住IDE host name区域上方的步骤。
有关IDE host name的更多信息:如果调试服务器不在同一台机器上,用户可以指定另一台主机(默认为localhost)。如果您想从容器连接它,您可以将其更改为当前机器的IP。
您还可以设置路径Map:,方法是单击文件夹选择器,然后选择真实的文件夹路径${workspaceFolder}。
然后单击OK按钮保存它,然后单击run按钮让调试服务器运行并侦听远程代码以连接到它,它将在Debug工具窗口中显示如下内容:

Starting debug server at port 12,345
Waiting for process connection…
Use the following code to connect to the debugger:
import pydevd_pycharm
pydevd_pycharm.settrace('some ip address', port=12345, stdoutToServer=True, stderrToServer=True)

1.在远程计算机/容器中安装和运行调试服务器客户端
在容器上,在终端中执行以下一次性命令(如果使用的是IDE 2022.3):pip3 install pydevd-pycharm~=223.8214.51
然后修改你想要调试的Python文件,在源文件的开头添加行(这一步是强制性的),例如:

#==============this code added==================================================================:
import pydevd_pycharm

pydevd_pycharm.settrace('some ip address', port=12345, stdoutToServer=True,
                        stderrToServer=True)
                        
# ... The other codes remain as is

然后,您可以通过在远程计算机/容器的终端中执行以下命令来启动远程调试:python3 myfile.py
1.返回到本地IDE并开始调试
在第2步之后,现在本地IDE将开始调试。
而最终的结果可能看起来像这样:

相关问题