gpt4 book ai didi

python - 配置两个远程系统之间的路径映射以使断点在 PyDev 中起作用

转载 作者:行者123 更新时间:2023-12-05 05:15:42 29 4
gpt4 key购买 nike

这几天我一直在尝试让 PyDev 的远程调试功能运行但没有成功。我的主要问题(目前只有一个)是我不知道如何正确地将远程路径映射到我的本地路径,反之亦然以使断点起作用。我已经通读了 these instructions并且还浏览了一些关于该主题的 Q/A。我想知道使这些断点正常运行的确切步骤是什么。

在我的例子中,它是一个在远程 Debian 9 系统上运行的 Python 应用程序,我想从我的本地 Windows 7 主机使用 Eclipse 中的 PyDev 6.4.3 进行调试。在这种情况下,宿主是什么,目标是什么?我必须在我的 Windows 或 Linux 机器上配置我的路径映射吗?或者两者兼而有之?

我尝试在 Eclipse 中的 Preferences/PyDev/Debug/Source Locator 下配置它们。我在 Windows 和 Linux 上都将它们设置为环境变量 PATHS_FROM_ECLIPSE_TO_PYTHON。这些都没有帮助,在我的 Linux 机器上我只是收到消息

pydev debugger: warning: trying to add breakpoint to file that does not exist

我没有其他选择了,真的很想知道正确的做法是什么。感谢您的帮助。

最佳答案

所以,我终于找到了适合我的设置的正确配置。总结一下:

  • 我要调试的应用程序在安装了 pydevd 的 Linux 机器上运行 (pip install pydevd)
  • 我的 Eclipse+PyDev 安装在我的 Windows 7 工作站上运行
  • 调试服务器在 Eclipse 中运行并监听它的默认端口 5678

显然必须在目标机器上配置路径映射(托管您要调试的应用程序的机器,所以在我的例子中这将是 Linux 机器)。这可以通过两种方式完成(在 Linux 上):

  1. 将它们直接粘贴到 pydevd_file_utils.py(在我的 Linux 系统上,它位于 /usr/local/lib/python2.7/dist-packages/ ) 的形式:

    PATHS_FROM_ECLIPSE_TO_PYTHON = [
    ('远程路径 1', '本地路径 1'),
    ('远程路径 2', '本地路径 2'),
    ...
    ]

  2. 将它们作为环境变量传递(例如 export PATHS_FROM_ECLIPSE_TO_PYTHON='[["Remote Path 1", "Local Path 1"], ["Remote Path 2", "Local Path 2"] , ...]') 在启动您的应用程序之前

在我的例子中,远程路径 是我的 Windows 机器上的项目路径(例如 C:\\Users\\workspace\\project\\)和 本地路径 我的 Linux 主机上的路径 (/home/user/project/)。请注意我必须添加到路径中的尾部反斜杠,否则 PyDev 会将路径转换为类似 /home/user/project\file.py 的内容,这会导致未知文件。因此,我还必须转义 Windows 路径中的反斜杠。

希望这能帮助遇到像我一样困难的任何人。

关于python - 配置两个远程系统之间的路径映射以使断点在 PyDev 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51431742/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com