我能否像pdb一样在命令行上使用pydevd?

3

我知道可以通过以下命令行调试Dummy.py

python -m pdb Dummy.py

现在,我正在尝试理解Visual Studio Code中调试控制台的一些行为,我相信这可能与pydevd的行为有关。(基本上,调试控制台对于诸如a = no_existing_function()这样的行会报告错误消息不正确。)因此,我想要做的是以类似于上面的pdb方式使用pydevd,但我无法实现这一点。我已经成功启动了一个“服务器”,
import pydevconsole
pydevconsole.start_server('localhost', 5678, 1234)

启动一个“客户端”并连接到上述服务器:

import pydevd
from _pydevd_bundle import pydevd_comm

print(pydevd_comm.start_client('localhost', 5678))
pydevd.settrace()

然而,我不确定接下来该怎么做。在我看来,pydevd 只是一个中介,期望其他东西连接到我选择的端口1234。但它实际上期望什么呢?我能用 telnet 连接吗,或者完全绕过这个连接以获得一个真正交互式的控制台,在其中可以输入要在 Dummy.py 范围内评估的命令吗?


可能相关:https://dev59.com/GZ3ha4cB1Zd3GeqPTmSh - bers
这里还有两件相关的事情需要收集:设置set PYDEV_DEBUG=True以在pydevd中启用更多的调试输出,以及https://github.com/nyyManni/pydev-client。 - bers
1个回答

1
如果您正在使用Visual Studio Code,则应使用ptvsd而不是pydevdptvsd包装pydevd以与Visual Studio Code一起使用)。
有关详细信息,请参见https://code.visualstudio.com/docs/python/debugging(您必须启动远程调试器,然后使用启动配置连接到它)。

是的,我知道。但这并不能帮助我,因为当我在 VS Code 中发现错误时,几乎不可能将其归因于 VS Code、PVSC 扩展、PTVSD 调试引擎的包装器或 PyDev 调试引擎。如果我能够在 PyDev 中重现一个 bug,我就可以确定去哪里调查和/或报告该 bug。 - bers
1
如果您在使用VSCode调试器时遇到错误,应该向ptvsd(https://github.com/Microsoft/ptvsd/)报告--如果不是来自该处,则应适当重定向。 - Fabio Zadrozny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接